Sry about the mess, this was mostly exploration

library(here)
here() starts at C:/Users/plancha/exoplanets
library(tidyverse)
── Attaching core tidyverse packages ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.5.1     ✔ tibble    3.2.1
✔ lubridate 1.9.4     ✔ tidyr     1.3.1
✔ purrr     1.0.4     ── Conflicts ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
library(conflicted)
# library(easystats)

exoplanets <- read_csv(here("data", "exoplanet_catalog_080325.csv"))
Warning: One or more parsing issues, call `problems()` on your data frame for details, e.g.:
  dat <- vroom(...)
  problems(dat)Rows: 7418 Columns: 98── Column specification ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Delimiter: ","
chr  (12): name, planet_status, publication, detection_type, mass_measurement_type, radius_measurement_type, alternate_names, molecules, star_name, star_sp_type, star_detected_disc, star_alternate_names
dbl  (83): mass, mass_error_min, mass_error_max, mass_sini, mass_sini_error_min, mass_sini_error_max, radius, radius_error_min, radius_error_max, orbital_period, orbital_period_error_min, orbital_period_error_max, semi_major_axis, semi_major_axis_error_min, semi_m...
lgl   (2): hot_point_lon, star_magnetic_field
date  (1): updated
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
exoplanets
library(skimr)
skim(exoplanets)
Warning: There was 1 warning in `dplyr::summarize()`.
ℹ In argument: `dplyr::across(tidyselect::any_of(variable_names), mangled_skimmers$funs)`.
ℹ In group 0: .
Caused by warning:
! There was 1 warning in `dplyr::summarize()`.
ℹ In argument: `dplyr::across(tidyselect::any_of(variable_names), mangled_skimmers$funs)`.
Caused by warning in `inline_hist()`:
! Variable contains Inf or -Inf value(s) that were converted to NA.
── Data Summary ────────────────────────
                           Values    
Name                       exoplanets
Number of rows             7418      
Number of columns          98        
_______________________              
Column type frequency:               
  character                12        
  Date                     1         
  logical                  2         
  numeric                  83        
________________________             
Group variables            None      
library(tidymodels)
── Attaching packages ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── tidymodels 1.3.0 ──
✔ broom        1.0.7     ✔ rsample      1.2.1
✔ dials        1.4.0     ✔ tune         1.3.0
✔ infer        1.0.7     ✔ workflows    1.2.0
✔ modeldata    1.4.0     ✔ workflowsets 1.1.0
✔ parsnip      1.3.1     ✔ yardstick    1.3.2
✔ recipes      1.1.1     
glimpse(exoplanets)
Rows: 7,418
Columns: 98
$ name                       <chr> "109 Psc b", "112 Psc b", "112 Psc c", "11 Com Ab", "11 UMi b", "14 And Ab", "14 Her b", "14 Her c", "16 Cyg Bb", "18 Del Ab", "1RXS 1609 b", "1RXS J103137.1-690205  b", "1RXS J125608.8-692652 (AB)b", "1RXS J131752.0-505845 b", "1R…
$ planet_status              <chr> "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed", "Confirmed…
$ mass                       <dbl> 5.743, NA, 9.866, NA, NA, NA, 8.500, 7.100, NA, NA, 14.000, 36.500, 44.500, 27.100, 32.000, NA, NA, NA, NA, NA, NA, NA, 19.900, 5.500, NA, 28.100, 37.500, 17.680, 38.000, 33.000, 19.180, 57.500, 14.880, 30.000, 10.000, 24.000, 29.0…
$ mass_error_min             <dbl> 0.28900, 0.00500, 1.78100, 1.53491, 1.10000, 0.23000, 0.80000, 0.60000, 0.08000, 0.36000, 3.00000, 2.40000, 5.80000, 4.30000, 6.00000, 6.00000, 0.02000, 0.03000, 0.11000, 0.11000, 0.20000, NA, 5.00000, 0.50000, 0.20000, 1.90000, 2.…
$ mass_error_max             <dbl> 1.01100, 0.00400, 3.19000, 1.53491, 1.10000, 0.23000, 1.00000, 1.00000, 0.08000, 0.36000, 2.00000, 2.40000, 5.80000, 4.30000, 6.00000, 6.00000, 0.02000, 0.03000, 0.11000, 0.11000, 0.20000, NA, 5.00000, 0.50000, 1.80000, 9.80000, 2.…
$ mass_sini                  <dbl> 6.3830, 0.0330, NA, 16.1284, 11.0873, 4.6840, 4.9500, 7.1200, 1.6400, 10.3000, NA, NA, NA, NA, NA, 20.0000, 1.5900, 0.8200, 0.9100, 1.8400, 1.5200, 10.0000, NA, NA, 8.3000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ mass_sini_error_min        <dbl> 0.07800, 0.00500, NA, 1.53491, 1.10000, 0.23000, NA, NA, 0.08000, 0.36000, NA, NA, NA, NA, NA, 6.00000, 0.02000, 0.03000, 0.11000, 0.11000, 0.20000, NA, NA, NA, 0.20000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ mass_sini_error_max        <dbl> 0.07800, 0.00400, NA, 1.53491, 1.10000, 0.23000, NA, NA, 0.08000, 0.36000, NA, NA, NA, NA, NA, 6.00000, 0.02000, 0.03000, 0.11000, 0.11000, 0.20000, NA, NA, NA, 1.80000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ radius                     <dbl> 1.152, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1.700, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3.500, NA, NA, 1.570, 1.570, NA, 1.570, 1.220, NA, NA, NA, NA, 1.360, 1.200, 1.430, 0.940, NA, NA, 1.620, 0.940, NA, NA, NA, 1.340, NA, 0…
$ radius_error_min           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1.560, 1.560, NA, NA, 0.020, NA, NA, NA, NA, 0.040, 0.060, 0.220, 0.160, NA, NA, 0.060, 0.160, NA, NA, NA, 0.130, NA, 0.110, NA, NA…
$ radius_error_max           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1.570, 1.570, NA, NA, 0.020, NA, NA, NA, NA, 0.040, 0.060, 0.220, 0.160, NA, NA, 0.060, 0.160, NA, NA, NA, 0.130, NA, 0.110, NA, NA…
$ orbital_period             <dbl> 1.075400e+03, 4.400000e+00, 3.633670e+04, 3.260300e+02, 5.162200e+02, 1.858400e+02, 1.767560e+03, 5.216000e+04, 7.995000e+02, 9.933000e+02, NA, NA, NA, NA, NA, 3.725000e+03, 2.581900e+02, 5.000000e+03, 3.035060e+01, 4.528000e+02, 8…
$ orbital_period_error_min   <dbl> 0.7000, 0.0004, 6039.4000, 0.3200, 3.2500, 0.2300, 0.2200, 1028.0000, 0.6000, 3.2000, NA, NA, NA, NA, NA, 900.0000, 0.0700, 400.0000, 0.0078, 4.5000, 14.0000, NA, NA, NA, 0.0210, NA, 0.0060, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ orbital_period_error_max   <dbl> 8.000e-01, 2.000e-04, 9.726e+03, 3.200e-01, 3.250e+00, 2.300e-01, 2.200e-01, 1.028e+03, 6.000e-01, 3.200e+00, NA, NA, NA, NA, NA, 9.000e+02, 7.000e-02, 4.000e+02, 7.800e-03, 2.100e+00, 3.200e+01, NA, NA, NA, 2.100e-02, NA, 6.000e-0…
$ semi_major_axis            <dbl> 2.0510, 0.0540, 22.2100, 1.2900, 1.5400, 0.8300, 2.8200, 27.0000, 1.6800, 2.6000, 330.0000, 1725.0000, 503.0000, 5230.0000, 120.0000, 3.9000, 0.8100, 5.8000, 0.1900, 1.3330, 2.0800, 5.9000, NA, 42.0000, NA, NA, 0.0627, 4.4000, 250.…
$ semi_major_axis_error_min  <dbl> 0.0870, 0.0020, 2.7660, 0.0500, 0.0700, NA, 0.0400, 7.9000, 0.0300, NA, 0.0000, NA, NA, NA, 20.0000, 1.7000, 0.0200, 0.5000, 0.0090, 0.0090, 0.0200, NA, NA, 2.0000, NA, NA, 0.0014, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1.…
$ semi_major_axis_error_max  <dbl> 0.0790, 0.0020, 3.8660, 0.0500, 0.0700, NA, 0.0400, 16.0000, 0.0300, NA, 0.0000, NA, NA, NA, 20.0000, 1.7000, 0.0200, 0.5000, 0.0120, 0.0040, 0.0500, NA, NA, 19.0000, NA, NA, 0.0014, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ eccentricity               <dbl> 0.104, 0.376, 0.174, 0.231, 0.080, 0.000, 0.372, 0.650, 0.689, 0.080, NA, NA, NA, NA, NA, NA, 0.233, 0.120, 0.042, 0.090, 0.290, NA, NA, NA, 0.681, NA, 0.309, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ eccentricity_error_min     <dbl> 0.008, 0.254, 0.154, 0.005, 0.030, NA, 0.003, 0.600, 0.011, 0.010, NA, NA, NA, NA, NA, NA, 0.002, 0.020, 0.029, 0.060, 0.090, NA, NA, NA, 0.053, NA, 0.022, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ eccentricity_error_max     <dbl> 0.009, 0.110, 0.110, 0.005, 0.030, NA, 0.003, 0.600, 0.011, 0.010, NA, NA, NA, NA, NA, NA, 0.002, 0.020, 0.048, 0.140, 0.160, NA, NA, NA, 0.053, NA, 0.022, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ inclination                <dbl> 86.116, NA, 47.738, NA, NA, NA, 35.700, 82.000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 88.500, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ inclination_error_min      <dbl> 20.530, NA, 11.804, NA, NA, NA, 3.200, 14.000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.100, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ inclination_error_max      <dbl> 19.957, NA, 12.651, NA, NA, NA, 3.200, 14.000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.100, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ angular_distance           <dbl> 0.066339, NA, NA, 0.011664, 0.012887, 0.010864, 0.153039, 0.381215, 0.078468, 0.035568, 2.275862, NA, NA, NA, NA, NA, 0.036486, 0.261261, NA, 0.017821, 0.027807, NA, NA, 0.877863, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ discovered                 <dbl> 2000, 2022, 2022, 2007, 2009, 2008, 2002, 2006, 1996, 2008, 2008, 2022, 2024, 2022, 2012, 2012, 1999, 2009, 2018, 2010, 2010, 2009, 2005, 2004, 2021, 2002, 2020, 2019, 2002, 2022, 2010, 2024, 2015, 2024, 2022, 2022, 2003, 2004, 200…
$ updated                    <date> 2024-06-14, 2024-06-14, 2024-06-14, 2024-08-01, 2023-03-03, 2024-07-30, 2024-10-15, 2024-10-15, 2024-07-28, 2024-08-02, 2024-03-24, 2024-10-24, 2024-06-24, 2024-10-24, 2024-08-04, 2014-10-29, 2024-05-28, 2024-05-28, 2023-08-07, 20…
$ omega                      <dbl> 112.816, 279.492, 79.772, 94.800, 117.630, NA, 22.300, 0.010, 83.400, 166.100, NA, NA, NA, NA, NA, NA, 252.700, 195.000, 210.000, 9.200, 220.500, NA, NA, NA, NA, NA, -89.900, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ omega_error_min            <dbl> 5.448, 67.524, 31.067, 1.500, 21.060, NA, 0.400, 1.000, 2.100, 6.500, NA, NA, NA, NA, NA, NA, 0.500, 48.000, 130.000, 165.400, 320.900, NA, NA, NA, NA, NA, 3.300, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ omega_error_max            <dbl> 5.254, 30.206, 15.493, 1.500, 21.060, NA, 0.400, 1.000, 2.100, 6.500, NA, NA, NA, NA, NA, NA, 0.500, 48.000, 100.000, 277.900, 182.200, NA, NA, NA, NA, NA, 3.300, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ tperi                      <dbl> 2451492, NA, NA, 2452900, 2452861, 2452861, 2451368, 2451779, 2450539, 2451672, NA, NA, NA, NA, NA, NA, 10071, 11100, 2450009, 2454762, 2454930, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ tperi_error_min            <dbl> 17.00, NA, NA, 1.60, 2.06, 1.50, 5.00, 33.00, 1.60, 18.00, NA, NA, NA, NA, NA, NA, 0.80, 600.00, 7.90, 172.30, 96.50, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ tperi_error_max            <dbl> 17.00, NA, NA, 1.60, 2.06, 1.50, 5.00, 33.00, 1.60, 18.00, NA, NA, NA, NA, NA, NA, 0.80, 600.00, 10.10, 172.30, 96.50, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ tconj                      <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tconj_error_min            <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tconj_error_max            <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_tr                   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_tr_error_min         <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_tr_error_max         <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_tr_sec               <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_tr_sec_error_min     <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_tr_sec_error_max     <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ lambda_angle               <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ lambda_angle_error_min     <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ lambda_angle_error_max     <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ impact_parameter           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ impact_parameter_error_min <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ impact_parameter_error_max <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_vr                   <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_vr_error_min         <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_vr_error_max         <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ k                          <dbl> 114.583, 4.157, 42.503, 302.800, 189.700, 100.000, 90.380, 50.800, 50.500, 119.400, NA, NA, NA, NA, NA, NA, NA, NA, 59.900, 33.200, 23.500, 80.000, NA, NA, 1070.000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ k_error_min                <dbl> 1.196, NA, 0.586, 2.600, 7.150, 1.300, 0.150, 0.400, 1.600, 1.300, NA, NA, NA, NA, NA, NA, NA, NA, 3.300, 1.600, 2.900, NA, NA, NA, 170.000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ k_error_max                <dbl> 1.067, NA, 1.868, 2.600, 7.150, 1.300, 0.150, 0.400, 1.600, 1.300, NA, NA, NA, NA, NA, NA, NA, NA, 3.300, 1.600, 2.900, NA, NA, NA, 1450.000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ temp_calculated            <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 2640.00, NA, NA, 2600.00, NA, NA, 2657.01, 1725.00, 1896.00, NA, NA, NA, 1264.00, 1343.00, 1887.00, 899.00, NA, NA, 1987.00, 836.00, NA, NA, NA…
$ temp_calculated_error_min  <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 100, NA, NA, 51, 5, 77, NA, NA, NA, 78, 58, 175, 82, NA, NA, 53, 71, NA, NA, NA, 117, NA, 89, NA, NA, NA, NA, NA, 53, 53, 132, 205,…
$ temp_calculated_error_max  <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 100, NA, NA, 51, 5, 77, NA, NA, NA, 78, 58, 175, 82, NA, NA, 53, 71, NA, NA, NA, 117, NA, 89, NA, NA, NA, NA, NA, 52, 53, 132, 205,…
$ temp_measured              <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1800, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1300, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ hot_point_lon              <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ geometric_albedo           <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ geometric_albedo_error_min <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ geometric_albedo_error_max <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ log_g                      <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 4.00, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 4.73, NA, NA, NA, NA, 4.12, 4.60, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 4.26, N…
$ publication                <chr> "Published in a refereed paper", "Published in a refereed paper", "Published in a refereed paper", "Published in a refereed paper", "Published in a refereed paper", "Published in a refereed paper", "Published in a refereed paper", …
$ detection_type             <chr> "Radial Velocity, Astrometry", "Radial Velocity", "Radial Velocity, Astrometry", "Radial Velocity", "Radial Velocity", "Radial Velocity", "Radial Velocity", "Radial Velocity", "Radial Velocity", "Radial Velocity", "Imaging", "Imagi…
$ mass_measurement_type      <chr> "Radial Velocity", "Radial Velocity", "Astrometry", "Radial Velocity", "Radial Velocity", "Radial Velocity", "Astrometry", "Astrometry", "Radial Velocity", "Radial Velocity", NA, "Astrometry", "Astrometry", "Astrometry", NA, "Radia…
$ radius_measurement_type    <chr> "Theoretical", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Flux", NA, NA, "Primary Transit", "Primary Transit", NA, NA, "Flux", NA, NA, NA, NA, "Flux", "Flux", NA, NA, NA, NA, NA, NA, NA, NA…
$ alternate_names            <chr> "HD 10697 b", "HD 12235 b", "HD 12235 c", NA, NA, NA, NA, "HD 145675 c", NA, NA, "1RXS J160929.1-210524 b, 1RXS J1609b, 1RXS J1609-2105b, RXJ 1609", "2MASS J10313710-6901587 b", "2MASS J12560830-6926539 (AB)b", "2MASS J13175314-505…
$ molecules                  <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "CO, H2O, K", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "CO, Fe, H2O, K, Mg, Na", "CH4, CO, Fe, H2O, He, K, Mg, Na", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ star_name                  <chr> "109 Psc", "112 Psc", "112 Psc", "11 Com A", "11 UMi", "14 And A", "14 Her", "14 Her", "16 Cyg B", "18 Del A", "1RXS 1609", "1RXS J103137.1-690205", "1RXS J125608.8-692652", NA, "1RXS J235133.3+312720 A", "1SWASP J1407", "23 Lib", …
$ ra                         <dbl> 26.2326000, 30.0381648, 30.0381648, 185.1791667, 229.2750000, 352.8208333, 242.5958333, 242.5958333, 295.4625000, 314.6083333, 242.3750000, 157.9046512, 194.0346175, NA, 357.8903083, 211.9500000, 228.3666667, 228.3666667, 217.16250…
$ dec                        <dbl> 20.0831500, 3.0970140, 3.0970140, 17.7927778, 71.8238889, 39.2361111, 43.8216667, 43.8216667, 50.5175000, 10.8391667, -21.0827778, -69.0329983, -69.4483502, NA, 31.4563947, -39.7619445, -25.3091667, -25.3091667, 49.8450000, -0.9022…
$ mag_v                      <dbl> 6.290, 5.880, 5.880, 4.740, 5.020, 5.220, 6.670, 6.670, 6.200, 5.520, NA, 11.820, 11.831, NA, 13.600, 12.400, 6.450, 6.450, 5.600, 7.380, 7.380, 4.810, NA, NA, NA, NA, NA, NA, NA, NA, NA, 10.000, 7.460, NA, NA, NA, NA, NA, NA, NA, …
$ mag_i                      <dbl> NA, NA, NA, NA, NA, 4.100, NA, NA, NA, NA, 10.990, NA, 10.048, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ mag_j                      <dbl> NA, 5.204, 5.204, NA, NA, 3.020, NA, NA, NA, 4.030, 9.820, 10.104, 8.910, NA, NA, NA, NA, NA, NA, NA, NA, 3.250, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 9.015, NA, NA, NA, NA, NA, NA, NA, NA, 11.280, NA, NA, NA, 7.500, NA, NA, …
$ mag_h                      <dbl> NA, 4.630, 4.630, NA, NA, 2.610, NA, NA, NA, 3.440, 9.120, 9.609, 8.250, NA, NA, NA, NA, NA, NA, NA, NA, 2.824, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 8.593, NA, NA, NA, NA, NA, NA, NA, NA, 10.700, NA, NA, NA, NA, NA, NA, NA, …
$ mag_k                      <dbl> NA, 4.494, 4.494, NA, NA, 2.330, NA, NA, NA, 3.670, 8.920, 9.494, 7.990, NA, NA, NA, NA, NA, NA, NA, NA, 2.710, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 8.583, NA, NA, NA, NA, NA, NA, NA, NA, 10.400, NA, NA, NA, NA, NA, NA, NA, …
$ star_distance              <dbl> 32.5600, 31.7627, 31.7627, 110.6000, 119.5000, 76.4000, 18.1000, 18.1000, 21.4100, 73.1000, 145.0000, 167.6127, 98.6000, NA, NA, 133.0000, 22.2000, 22.2000, 100.0000, 72.2084, 72.2084, 68.4818, 64.6730, 64.6730, NA, 36.6000, 36.600…
$ star_distance_error_min    <dbl> 0.88000, 0.10695, 0.10695, 10.50000, 6.90000, 4.10000, NA, NA, 0.24000, 3.50000, 20.00000, NA, NA, NA, NA, 12.00000, 1.10000, 1.10000, 2.50000, 0.68320, 0.68320, 1.71845, 0.48640, 0.48640, NA, 0.30000, 0.30000, 0.30000, 0.30000, 1.…
$ star_distance_error_max    <dbl> 0.88000, 0.10695, 0.10695, 10.50000, 6.90000, 4.10000, NA, NA, 0.24000, 3.50000, 20.00000, NA, NA, NA, NA, 12.00000, 1.10000, 1.10000, 2.50000, 0.68320, 0.68320, 1.71845, 0.48640, 0.48640, NA, 0.30000, 0.30000, 0.30000, 0.30000, 1.…
$ star_metallicity           <dbl> 0.100, 0.310, 0.310, -0.350, 0.040, -0.240, 0.430, 0.430, 0.080, -0.052, NA, NA, NA, NA, NA, NA, 0.250, 0.250, -0.770, -0.030, -0.030, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ star_metallicity_error_min <dbl> 0.060, 0.100, 0.100, 0.090, 0.040, NA, 0.080, 0.080, 0.040, 0.023, NA, NA, NA, NA, NA, NA, 0.020, 0.020, 0.030, 0.040, 0.040, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ star_metallicity_error_max <dbl> 0.060, 0.100, 0.100, 0.090, 0.040, NA, 0.080, 0.080, 0.040, 0.023, NA, NA, NA, NA, NA, NA, 0.020, 0.020, 0.030, 0.040, 0.040, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ star_mass                  <dbl> 1.130, 1.100, 1.100, 2.700, 1.800, 2.200, 0.900, 0.900, 1.010, 2.300, 0.730, 0.870, 0.700, NA, 0.450, 0.900, 1.070, 1.070, 0.990, 1.540, 1.540, 2.320, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1.170, 0.189, NA, NA, NA, NA, NA, NA, NA…
$ star_mass_error_min        <dbl> 0.0300, 0.1330, 0.1330, 0.3000, 0.2500, 0.2000, NA, NA, 0.0400, NA, 0.0500, NA, NA, NA, 0.0500, NA, 0.0800, 0.0800, 0.1300, 0.0800, 0.0800, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.1600, 0.0200, NA, NA, NA, NA, NA, NA, NA, NA,…
$ star_mass_error_max        <dbl> 0.0300, 0.1330, 0.1330, 0.3000, 0.2500, 0.2000, NA, NA, 0.0400, NA, 0.0500, NA, NA, NA, 0.0500, NA, 0.0800, 0.0800, 0.1900, 0.0800, 0.0800, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.1600, 0.0200, NA, NA, NA, NA, NA, NA, NA, NA,…
$ star_radius                <dbl> 1.7900, 1.8010, 1.8010, 19.0000, 24.0800, 11.0000, 0.7080, 0.7080, 0.9800, 8.5000, 1.3500, 1.0600, 1.8310, NA, NA, 0.9900, 1.2500, 1.2500, 10.6400, 4.9000, 4.9000, 9.6900, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1.1100, 0.2198, NA,…
$ star_radius_error_min      <dbl> 0.17000, 0.07250, 0.07250, 2.00000, 1.84000, 1.00000, 0.08500, 0.08500, 0.13000, NA, NA, NA, NA, NA, NA, 0.11000, 0.04000, 0.04000, 0.59000, 0.08000, 0.08000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.05000, 0.00673, NA, NA, NA…
$ star_radius_error_max      <dbl> 0.17000, 0.07250, 0.07250, 2.00000, 1.84000, 1.00000, 0.08500, 0.08500, 0.13000, NA, NA, NA, NA, NA, NA, 0.11000, 0.04000, 0.04000, 0.84000, 0.08000, 0.08000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.05000, 0.00673, NA, NA, NA…
$ star_sp_type               <chr> "G5 IV", "G0IV", "G0IV", "G8III", "K4III", "K0III", "K0 V", "K0 V", "G2.5 V", "G6III", "K7V", "K2.5IVe", "K7Ve", NA, "M2V", NA, "G5 V", "G5 V", "G3IV", "G5", "G5", "K0III", NA, NA, NA, NA, NA, NA, NA, NA, NA, "M8e D", "F8V", "M5.5V…
$ star_age                   <dbl> 6.900, NA, NA, NA, 1.560, NA, 5.100, 5.100, 8.000, NA, 0.011, NA, 0.003, NA, 0.100, 0.016, 9.700, 9.700, 6.920, 2.700, 2.700, 1.910, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.045, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ star_age_error_min         <dbl> 0.600, NA, NA, NA, 0.540, NA, NA, NA, 1.800, NA, 0.002, NA, NA, NA, 0.050, NA, 3.700, 3.700, 4.800, 0.400, 0.400, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ star_age_error_max         <dbl> 0.600, NA, NA, NA, 0.540, NA, NA, NA, 1.800, NA, 0.002, NA, NA, NA, 0.050, NA, 3.700, 3.700, 4.800, 0.400, 0.400, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ star_teff                  <dbl> 5600.00, 5986.00, 5986.00, 4742.00, 4340.00, 4813.00, 5311.00, 5311.00, 5766.00, 4979.00, 4060.00, 4862.13, 3971.38, NA, NA, 4400.00, 5740.00, 5740.00, 4893.00, 5098.00, 5098.00, 5078.00, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 614…
$ star_teff_error_min        <dbl> 80.000, 105.437, 105.437, 100.000, 70.000, 20.000, 87.000, 87.000, 60.000, 18.000, 200.000, NA, NA, NA, NA, 100.000, 23.000, 23.000, 15.000, 44.000, 44.000, 124.000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 126.660, 157.000, NA, NA,…
$ star_teff_error_max        <dbl> 80.000, 105.437, 105.437, 100.000, 70.000, 20.000, 87.000, 87.000, 60.000, 18.000, 200.000, NA, NA, NA, NA, 100.000, 23.000, 23.000, 15.000, 44.000, 44.000, 124.000, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 126.660, 157.000, NA, NA,…
$ star_detected_disc         <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ star_magnetic_field        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ star_alternate_names       <chr> "HD 10697", "HD 12235", "HD 12235", "HD 107383", NA, NA, NA, NA, "HD 186427, GJ 765.1 B", "HD 199665", "1RXS1609, 1RXS J1609, 1RXS J160929.1-210524", "2MASS J10313710-6901587", "2MASS J12560830-6926539", NA, "2MASS J23513366+312722…
library(naniar)
gg_miss_var(exoplanets)

library(visdat)
vis_dat(exoplanets)

names(exoplanets)
 [1] "name"                       "planet_status"              "mass"                       "mass_error_min"             "mass_error_max"             "mass_sini"                  "mass_sini_error_min"        "mass_sini_error_max"        "radius"                    
[10] "radius_error_min"           "radius_error_max"           "orbital_period"             "orbital_period_error_min"   "orbital_period_error_max"   "semi_major_axis"            "semi_major_axis_error_min"  "semi_major_axis_error_max"  "eccentricity"              
[19] "eccentricity_error_min"     "eccentricity_error_max"     "inclination"                "inclination_error_min"      "inclination_error_max"      "angular_distance"           "discovered"                 "updated"                    "omega"                     
[28] "omega_error_min"            "omega_error_max"            "tperi"                      "tperi_error_min"            "tperi_error_max"            "tconj"                      "tconj_error_min"            "tconj_error_max"            "tzero_tr"                  
[37] "tzero_tr_error_min"         "tzero_tr_error_max"         "tzero_tr_sec"               "tzero_tr_sec_error_min"     "tzero_tr_sec_error_max"     "lambda_angle"               "lambda_angle_error_min"     "lambda_angle_error_max"     "impact_parameter"          
[46] "impact_parameter_error_min" "impact_parameter_error_max" "tzero_vr"                   "tzero_vr_error_min"         "tzero_vr_error_max"         "k"                          "k_error_min"                "k_error_max"                "temp_calculated"           
[55] "temp_calculated_error_min"  "temp_calculated_error_max"  "temp_measured"              "hot_point_lon"              "geometric_albedo"           "geometric_albedo_error_min" "geometric_albedo_error_max" "log_g"                      "publication"               
[64] "detection_type"             "mass_measurement_type"      "radius_measurement_type"    "alternate_names"            "molecules"                  "star_name"                  "ra"                         "dec"                        "mag_v"                     
[73] "mag_i"                      "mag_j"                      "mag_h"                      "mag_k"                      "star_distance"              "star_distance_error_min"    "star_distance_error_max"    "star_metallicity"           "star_metallicity_error_min"
[82] "star_metallicity_error_max" "star_mass"                  "star_mass_error_min"        "star_mass_error_max"        "star_radius"                "star_radius_error_min"      "star_radius_error_max"      "star_sp_type"               "star_age"                  
[91] "star_age_error_min"         "star_age_error_max"         "star_teff"                  "star_teff_error_min"        "star_teff_error_max"        "star_detected_disc"         "star_magnetic_field"        "star_alternate_names"      
library(janitor)
exoplanets %>% tabyl(planet_status)
 planet_status    n percent
     Confirmed 7418       1
conflicts_prefer(dplyr::filter)
[conflicted] Will prefer dplyr::filter over any other package.
exoplanets %>% 
  filter(name %>% str_like("%TOI-784%"))
conflicts_prefer(dplyr::filter)
[conflicted] Removing existing preference.[conflicted] Will prefer dplyr::filter over any other package.
exoplanets %>% 
  filter(discovered == 2023)
exoplanets %>%
  mutate(
    ra_rad = ra,  # Convert RA to radians
    dec_rad = dec  # Convert Dec to radians
  ) %>% 
  ggplot(aes(x = ra_rad, y = dec_rad, color = dec)) +
  geom_point(size = 0.4) +
  coord_map("aitoff") +  # Apply Aitoff projection
  theme_minimal() +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    legend.position = "none"  # Optionally remove legend
  )

library(dplyr)
library(plotly)
conflicts_prefer(plotly::layout)
[conflicted] Will prefer plotly::layout over any other package.
# Create a new column to distinguish Kepler exoplanets
exoplanets_3d <- exoplanets %>%
  mutate(
    ra_rad = ra * pi / 180,   # Convert RA from degrees to radians
    dec_rad = dec * pi / 180, # Convert Dec from degrees to radians
    x = cos(dec_rad) * cos(ra_rad), # Convert to Cartesian coordinates
    y = cos(dec_rad) * sin(ra_rad),
    z = sin(dec_rad),
    color = case_when(  # Create a column for red when kepler, blue otherwise
      str_detect(paste(name, alternate_names), regex("kepler|koi", ignore_case = TRUE)) ~ "Kepler",
      # if it's free floating (star_name is NA)
      star_name %>% is.na() ~ "Free Floating",
      TRUE ~ "Other"
    ),
    hover_text = paste("Name: ", name) # Create custom hover text with the name of the exoplanet
  )

# Define steps for opacity slider
steps <- list(
  list(args = list("marker.opacity", 0.0), label = "0.0", method = "restyle"),
  list(args = list("marker.opacity", 0.1), label = "0.1", method = "restyle"),
  list(args = list("marker.opacity", 0.2), label = "0.2", method = "restyle"),
  list(args = list("marker.opacity", 0.3), label = "0.3", method = "restyle"),
  list(args = list("marker.opacity", 0.4), label = "0.4", method = "restyle"),
  list(args = list("marker.opacity", 0.5), label = "0.5", method = "restyle"),
  list(args = list("marker.opacity", 0.6), label = "0.6", method = "restyle"),
  list(args = list("marker.opacity", 0.7), label = "0.7", method = "restyle"),
  list(args = list("marker.opacity", 0.8), label = "0.8", method = "restyle"),
  list(args = list("marker.opacity", 0.9), label = "0.9", method = "restyle"),
  list(args = list("marker.opacity", 1.0), label = "1.0", method = "restyle")
)

# Create an interactive 3D scatter plot with plotly
plot_ly(
  data = exoplanets_3d,
  x = ~x,
  y = ~y,
  z = ~z,
  color = ~color,  # Use the kepler_highlight column for color mapping
  colors = c("Other" = "red", "Kepler" = "blue", "Free Floating" = "green"),
  text = ~hover_text, # Show the name of the exoplanet on hover
  type = "scatter3d",
  mode = "markers",
  marker = list(size = 1, opacity = 0.7), # Default opacity
  showlegend = TRUE
) %>%
  layout(
    title = "3D Sky Map of Exoplanets (Kepler Highlighted)",
    scene = list(
      xaxis = list(title = "X"),
      yaxis = list(title = "Y"),
      zaxis = list(title = "Z")
    ),
    sliders = list(
      list(
        active = 1,  # Set the default opacity value to 1.0 (fully opaque)
        currentvalue = list(
          prefix = "Opacity: ",
          font = list(size = 15)
        ),
        pad = list(t = 60),
        steps = steps  # Use the steps defined earlier for the opacity slider
      )
    )
  )
Warning: Ignoring 1 observationsWarning: Ignoring 1 observations

# Assuming your data is loaded as 'exoplanets'
# Convert RA to degrees (if it's in hours:minutes:seconds format)
# If RA is already in degrees, skip this step
exoplanets %>%
  mutate(
    ra_deg = ra,  # Convert RA from hours to degrees (if needed)
    # Convert to polar coordinates for plotting
    # RA is mapped to theta (0-360 degrees)
    theta = ra_deg
  ) %>% 
ggplot(aes(x = theta, y = star_distance, color = mass)) +
  # Use coord_polar for circular plot
  coord_polar(start = 0, direction = -1) + # Start at 0 degrees, clockwise direction
  # Add concentric circles for distance reference
  geom_hline(yintercept = c(10, 100, 1000, 10000), 
             color = "gray", linetype = "solid", size = 0.3, alpha = 0.7) +
  # Add radial lines for angle reference
  geom_vline(xintercept = seq(0, 330, by = 30), 
             color = "gray", linetype = "solid", size = 0.3, alpha = 0.7) +
  # Plot the exoplanets
  geom_point(alpha = 0.8, size = 1) +
  # Use log scale for distance
  scale_y_log10(
    breaks = c(10, 100, 1000, 10000),
    labels = c("10 pc", "100 pc", "1000 pc", "10000 pc"),
    limits = c(1, 15000)
  ) +
  # Use log scale for mass colors
  scale_color_gradientn(
    colors = c("#1E90FF", "#32CD32", "#FFFF00", "#FFA500", "#FF4500", "#FF0000"),
    trans = "log10",
    breaks = c(0.0001, 0.001, 0.01, 0.1, 1, 10),
    labels = c("10⁻⁴", "10⁻³", "10⁻²", "10⁻¹", "10⁰", "10¹"),
    name = "Planetary Mass (MJup)"
  ) +
  # Remove grid and axis elements
  theme_minimal() +
  theme(
    axis.title = element_blank(),
    axis.text.y = element_blank(),
    axis.text.x = element_blank(),
    panel.grid = element_blank(),
    legend.position = "bottom",
    legend.box = "horizontal",
    plot.title = element_text(hjust = 0.5)
  ) +
  ggtitle("Exoplanet Distribution")
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
Please use `linewidth` instead.

library(shiny)
library(plotly)
library(dplyr)
library(stringr)

# Assuming 'exoplanets' dataset is available
# Create a new column to distinguish Kepler exoplanets
exoplanets_3d <- exoplanets %>%
  mutate(
    ra_rad = ra * pi / 180,   # Convert RA from degrees to radians
    dec_rad = dec * pi / 180, # Convert Dec from degrees to radians
    x = cos(dec_rad) * cos(ra_rad), # Convert to Cartesian coordinates
    y = cos(dec_rad) * sin(ra_rad),
    z = sin(dec_rad),
    color = case_when(  # Create a column for red when kepler, blue otherwise
      str_detect(paste(name, alternate_names), regex("kepler|koi", ignore_case = TRUE)) ~ "Kepler",
      # if it's free floating (star_name is NA)
      star_name %>% is.na() ~ "Free Floating",
      TRUE ~ "Other"
    ),
    hover_text = paste("Name: ", name), # Create custom hover text with the name of the exoplanet
    scaled_x = x * (1 / star_distance),  # Adjust x coordinate by star distance (closer = closer to center)
    scaled_y = y * (1 / star_distance),  # Adjust y coordinate similarly
    scaled_z = z * (1 / star_distance)   # Adjust z coordinate similarly
  )

# Define steps for opacity slider
steps <- list(
  list(args = list("marker.opacity", 0.0), label = "0.0", method = "restyle"),
  list(args = list("marker.opacity", 0.1), label = "0.1", method = "restyle"),
  list(args = list("marker.opacity", 0.2), label = "0.2", method = "restyle"),
  list(args = list("marker.opacity", 0.3), label = "0.3", method = "restyle"),
  list(args = list("marker.opacity", 0.4), label = "0.4", method = "restyle"),
  list(args = list("marker.opacity", 0.5), label = "0.5", method = "restyle"),
  list(args = list("marker.opacity", 0.6), label = "0.6", method = "restyle"),
  list(args = list("marker.opacity", 0.7), label = "0.7", method = "restyle"),
  list(args = list("marker.opacity", 0.8), label = "0.8", method = "restyle"),
  list(args = list("marker.opacity", 0.9), label = "0.9", method = "restyle"),
  list(args = list("marker.opacity", 1.0), label = "1.0", method = "restyle")
)

# Define UI for the Shiny app
ui <- fluidPage(
  # Application title
  titlePanel("3D Sky Map of Exoplanets (Kepler Highlighted)"),
  
  # Sidebar layout (can remain empty since the slider is in Plotly)
  sidebarLayout(
    sidebarPanel(
      # Empty sidebar panel (since no Shiny slider is needed)
    ),
    
    mainPanel(
      # Plotly output for displaying the plot
      plotlyOutput("plot", height = "800px")  # Plot height set to 800px
    )
  )
)

# Define server logic for the Shiny app
server <- function(input, output, session) {
  
  # Create the Plotly figure to be rendered
  output$plot <- renderPlotly({
    fig <- plot_ly(
      data = exoplanets_3d,
      x = ~scaled_x,
      y = ~scaled_y,
      z = ~scaled_z,
      color = ~color,  # Use the kepler_highlight column for color mapping
      colors = c("Other" = "red", "Kepler" = "blue", "Free Floating" = "green"),
      text = ~hover_text, # Show the name of the exoplanet on hover
      type = "scatter3d",
      mode = "markers",
      marker = list(size = 2, opacity = 0.7), # Default opacity
      showlegend = TRUE
    )
    
    # Add the opacity slider directly inside Plotly layout
    fig <- fig %>% layout(
      title = "3D Sky Map of Exoplanets (Kepler Highlighted)",
      scene = list(
        xaxis = list(title = "X"),
        yaxis = list(title = "Y"),
        zaxis = list(title = "Z")
      ),
      sliders = list(
        list(
          active = 1,  # Set the default opacity value to 1.0 (fully opaque)
          currentvalue = list(
            prefix = "Opacity: ",
            font = list(size = 15)
          ),
          pad = list(t = 60),
          steps = steps  # Use the steps defined earlier for the opacity slider
        )
      ),
      height = 800  # Set the height of the plot to 800px
    )
    
    fig
  })
}

if (F) {
  # Run the application
  shinyApp(ui = ui, server = server)
}
# check how many are missing
exoplanets %>% 
  select(ra, dec, angular_distance) %>% 
  mutate(ra = ra %>% is.na(), dec = dec %>% is.na(), angular_distance = angular_distance %>% is.na()) %>%
  summarise_all(mean) %>%
  gather(key="column", value="percentage")
# check which ones dont have ra
exoplanets %>% 
  filter(ra %>% is.na())
# check out alternate names
exoplanets %>% 
  select(name, alternate_names) %>% 
  filter(alternate_names %>% str_length() > 0)
NA
exoplanets %>% 
  tabyl(publication)
                            publication    n     percent
 Announced on a professional conference   55 0.007414397
                 Announced on a website 2357 0.317740631
          Published in a refereed paper 4873 0.656915611
    Submitted to a professional journal  133 0.017929361
# remove any column with error in the name
exoplanets_r <- exoplanets %>% 
  select(-contains("error")) %>% 
  select(-planet_status, -publication)
exoplanets_r %>% names
 [1] "name"                    "mass"                    "mass_sini"               "radius"                  "orbital_period"          "semi_major_axis"         "eccentricity"            "inclination"             "angular_distance"        "discovered"             
[11] "updated"                 "omega"                   "tperi"                   "tconj"                   "tzero_tr"                "tzero_tr_sec"            "lambda_angle"            "impact_parameter"        "tzero_vr"                "k"                      
[21] "temp_calculated"         "temp_measured"           "hot_point_lon"           "geometric_albedo"        "log_g"                   "detection_type"          "mass_measurement_type"   "radius_measurement_type" "alternate_names"         "molecules"              
[31] "star_name"               "ra"                      "dec"                     "mag_v"                   "mag_i"                   "mag_j"                   "mag_h"                   "mag_k"                   "star_distance"           "star_metallicity"       
[41] "star_mass"               "star_radius"             "star_sp_type"            "star_age"                "star_teff"               "star_detected_disc"      "star_magnetic_field"     "star_alternate_names"   
library(visdat)
vis_dat(exoplanets_r)

vis_miss(exoplanets_r, sort_miss = T, cluster = T)

detection type

exoplanets %>% 
  tabyl("detection_type") %>% 
  arrange(-n)
                       detection_type    n      percent
                      Primary Transit 4509 0.6078457805
                      Radial Velocity 1145 0.1543542734
                              Imaging  922 0.1242922621
                         Microlensing  313 0.0421946616
                               Timing  160 0.0215691561
          Radial Velocity, Astrometry   99 0.0133459153
                  Imaging, Astrometry   49 0.0066055541
                           Astrometry   46 0.0062011324
                       Imaging, Other   46 0.0062011324
                                Other   42 0.0056619035
                                  TTV   32 0.0043138312
                    Timing, Kinematic   10 0.0013480723
     Primary Transit, Radial Velocity    7 0.0009436506
     Radial Velocity, Primary Transit    7 0.0009436506
                        Timing, Other    6 0.0008088434
          Astrometry, Radial Velocity    3 0.0004044217
            Imaging, Other, Kinematic    3 0.0004044217
                   Imaging, Kinematic    2 0.0002696145
                            Kinematic    2 0.0002696145
                 Primary Transit, TTV    2 0.0002696145
             Radial Velocity, Imaging    2 0.0002696145
                  Astrometry, Imaging    1 0.0001348072
           Imaging, Other, Astrometry    1 0.0001348072
             Imaging, Primary Transit    1 0.0001348072
 Imaging, Radial Velocity, Astrometry    1 0.0001348072
                       Other, Imaging    1 0.0001348072
            Other, Imaging, Kinematic    1 0.0001348072
               Other, Radial Velocity    1 0.0001348072
          Primary Transit, Astrometry    1 0.0001348072
           Primary Transit, Kinematic    1 0.0001348072
              Radial Velocity, Timing    1 0.0001348072
                   Timing, Astrometry    1 0.0001348072
library(fastDummies)
exoplanets_rd <- exoplanets_r %>% 
  dummy_cols(select_columns = "detection_type", split = ", ")
exoplanets_rd %>% select(starts_with("detection_type")) %>% 
  unique
exoplanets_rd %>% 
  select(starts_with("detection_type")) %>% 
  gather(key="detection_type", value="value") %>% 
  filter(value == 1) %>% 
  group_by(detection_type) %>% 
  summarise(n = n(), percentage = n()*100 / nrow(exoplanets_rd)) %>% 
  arrange(-n)
library(naniar)
exoplanets_rd %>%
  group_by(`detection_type_Primary Transit`) %>% 
  miss_var_summary() %>% 
  arrange(variable) %>% 
  filter(variable %>% str_detect("detection_type", negate = T)) %>% 
  ggplot(aes(x = variable, y = pct_miss, fill = `detection_type_Primary Transit`)) +
  geom_col(position="dodge") +
  coord_flip() 

if (F){
library(misty)
exoplanets_rd %>% 
  select(tzero_vr, tzero_tr_sec, tzero_tr) %>% 
  na.test(data = exoplanets_rd)
} # didnt work for some reason
library(shiny)
library(dplyr)
library(plotly)
library(naniar)  # Assuming miss_var_summary() is from naniar

# Sample UI
ui <- fluidPage(
  titlePanel("Missing Data by Detection Type"),
  
  sidebarLayout(
    sidebarPanel(
      selectInput("group_var", "Select Detection Type:", 
                  choices = names(exoplanets_rd)[grepl("^detection_type_", names(exoplanets_rd))])
    ),
    
    mainPanel(
      plotlyOutput("missing_plot", height = "700px")  # Increased height
    )
  )
)

# Server function
server <- function(input, output) {
  output$missing_plot <- renderPlotly({
    exoplanets_rd %>%
      # transform vars into bool
      mutate(across(starts_with("detection_type"), ~ .x %>% as.logical())) %>%
      group_by(.data[[input$group_var]]) %>%
      miss_var_summary() %>%
      arrange(variable) %>%
      filter(!str_detect(variable, "detection_type")) %>%
      plot_ly(y = ~variable, x = ~pct_miss, color = ~.data[[input$group_var]], type = "bar") %>%
      layout(barmode = "group", height = 700)  # Increased plot height
  })
}
# Run the app
if (F) {
  shinyApp(ui = ui, server = server)
}
# filter by the kepler
exoplanets %>% 
  filter(paste(name, alternate_names) %>% str_like("%Kepler%")) %>% 
  tabyl("detection_type")
                   detection_type    n      percent
                            Other    6 0.0021543986
                  Primary Transit 2722 0.9773788151
             Primary Transit, TTV    2 0.0007181329
                  Radial Velocity   26 0.0093357271
 Radial Velocity, Primary Transit    1 0.0003590664
                              TTV   23 0.0082585278
                           Timing    5 0.0017953321
# check other
exoplanets %>% 
  filter(detection_type == "Other")
conflicts_prefer(lubridate::yday)
[conflicted] Will prefer lubridate::yday over any other package.
conflicts_prefer(lubridate::year)
[conflicted] Will prefer lubridate::year over any other package.
year_with_percentage <- function(date) {
  percentage_of_year <- yday(date) / ifelse(leap_year(date), 366, 365)
  year(date) + percentage_of_year
}

exoplanets_rd %>% 
  mutate(updated = updated %>% year_with_percentage) %>% 
  mutate(diff_disc_updated = updated - discovered) -> exoplanets_rdd
exoplanets_rdd %>% 
  select(discovered, updated, diff_disc_updated)
exoplanets_rddk <- exoplanets_rdd %>% 
  mutate(is_kepler = paste(name, alternate_names) %>% str_detect("kepler" %>% regex(ignore_case = T)))
exoplanets_rddk %>%
  select(name, is_kepler) %>% 
  arrange(-is_kepler)
exoplanets %>%
  tabyl(publication)
                            publication    n     percent
 Announced on a professional conference   55 0.007414397
                 Announced on a website 2357 0.317740631
          Published in a refereed paper 4873 0.656915611
    Submitted to a professional journal  133 0.017929361

Modeling

# transform into is shadow matrix
library(naniar)
exoplanets_rddk %>% 
  select(-name, -discovered, -updated, -diff_disc_updated, -is_kepler, -star_distance, -starts_with("detection_type")) %>%
  janitor::remove_constant() %>%
  as_shadow() -> shadow_matrix
# add columns to exoplanets_rd
shadow_exoplanets <- exoplanets_rddk %>% 
  bind_cols(shadow_matrix) %>% 
  # select everyone that ends with _NA
  select(name, starts_with("detection_type_"), discovered, updated, diff_disc_updated, is_kepler, star_distance, ra, dec, ends_with("_NA")) %>% 
  # change detection_type to factor
  mutate_at(vars(starts_with("detection_type_")), as.factor) %>% 
  janitor::clean_names()
# TODO reduce dimensionality on the _NA 
shadow_exoplanets

model

shadow_exoplanets %>% glimpse
Rows: 7,418
Columns: 58
$ name                           <chr> "109 Psc b", "112 Psc b", "112 Psc c", "11 Com Ab", "11 UMi b", "14 And Ab", "14 Her b", "14 Her c", "16 Cyg Bb", "18 Del Ab", "1RXS 1609 b", "1RXS J103137.1-690205  b", "1RXS J125608.8-692652 (AB)b", "1RXS J131752.0-505845 b",…
$ detection_type_astrometry      <fct> 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ detection_type_imaging         <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1,…
$ detection_type_radial_velocity <fct> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,…
$ detection_type_kinematic       <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ detection_type_other           <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ detection_type_primary_transit <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ detection_type_microlensing    <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ detection_type_ttv             <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ detection_type_timing          <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ discovered                     <dbl> 2000, 2022, 2022, 2007, 2009, 2008, 2002, 2006, 1996, 2008, 2008, 2022, 2024, 2022, 2012, 2012, 1999, 2009, 2018, 2010, 2010, 2009, 2005, 2004, 2021, 2002, 2020, 2019, 2002, 2022, 2010, 2024, 2015, 2024, 2022, 2022, 2003, 2004,…
$ updated                        <dbl> 2024.454, 2024.454, 2024.454, 2024.585, 2023.170, 2024.579, 2024.790, 2024.790, 2024.574, 2024.587, 2024.230, 2024.814, 2024.481, 2024.814, 2024.593, 2014.827, 2024.407, 2024.407, 2023.600, 2021.753, 2021.753, 2024.500, 2024.24…
$ diff_disc_updated              <dbl> 24.4535519, 2.4535519, 2.4535519, 17.5846995, 14.1698630, 16.5792350, 22.7896175, 18.7896175, 28.5737705, 16.5874317, 16.2295082, 2.8142077, 0.4808743, 2.8142077, 12.5928962, 2.8273973, 25.4071038, 15.4071038, 5.6000000, 11.753…
$ is_kepler                      <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FAL…
$ star_distance                  <dbl> 32.5600, 31.7627, 31.7627, 110.6000, 119.5000, 76.4000, 18.1000, 18.1000, 21.4100, 73.1000, 145.0000, 167.6127, 98.6000, NA, NA, 133.0000, 22.2000, 22.2000, 100.0000, 72.2084, 72.2084, 68.4818, 64.6730, 64.6730, NA, 36.6000, 36…
$ ra                             <dbl> 26.2326000, 30.0381648, 30.0381648, 185.1791667, 229.2750000, 352.8208333, 242.5958333, 242.5958333, 295.4625000, 314.6083333, 242.3750000, 157.9046512, 194.0346175, NA, 357.8903083, 211.9500000, 228.3666667, 228.3666667, 217.1…
$ dec                            <dbl> 20.0831500, 3.0970140, 3.0970140, 17.7927778, 71.8238889, 39.2361111, 43.8216667, 43.8216667, 50.5175000, 10.8391667, -21.0827778, -69.0329983, -69.4483502, NA, 31.4563947, -39.7619445, -25.3091667, -25.3091667, 49.8450000, -0.…
$ mass_na                        <fct> !NA, NA, !NA, NA, NA, NA, !NA, !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !…
$ mass_sini_na                   <fct> !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ radius_na                      <fct> !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, !NA, !NA, NA, !NA, !NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, NA, NA, NA, !NA, NA, !NA, NA, NA, NA, NA, NA, …
$ orbital_period_na              <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ semi_major_axis_na             <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, NA, NA, !NA, !NA, !NA, NA, NA, !NA, NA, !NA, NA, NA, NA, NA, NA, !NA, NA, NA, !NA, NA, !NA, NA, !NA, NA, NA,…
$ eccentricity_na                <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, !NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ inclination_na                 <fct> !NA, NA, !NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ angular_distance_na            <fct> !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, !NA, !NA, NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ omega_na                       <fct> !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ tperi_na                       <fct> !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ tconj_na                       <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_tr_na                    <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_tr_sec_na                <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ lambda_angle_na                <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ impact_parameter_na            <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_vr_na                    <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ k_na                           <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ temp_calculated_na             <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, !NA, NA, NA, !NA, !NA, !NA, NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, NA, NA, NA, !NA, NA, !NA, NA, NA, NA, NA, NA, !N…
$ temp_measured_na               <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ geometric_albedo_na            <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ log_g_na                       <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA…
$ mass_measurement_type_na       <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, NA, !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, !NA, NA, NA, !NA, !NA, NA, !NA, NA, NA, !NA, !NA, NA, NA, NA, !NA, !NA, !NA, !…
$ radius_measurement_type_na     <fct> !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA,…
$ alternate_names_na             <fct> !NA, !NA, !NA, NA, NA, NA, NA, !NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, NA, NA, NA, !NA, !NA, !NA, NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !N…
$ molecules_na                   <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ star_name_na                   <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, !NA, NA, NA, NA, …
$ ra_na                          <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA…
$ dec_na                         <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA…
$ mag_v_na                       <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ mag_i_na                       <fct> NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, !NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ mag_j_na                       <fct> NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, !NA, NA, NA, NA, NA, !NA, !NA, NA…
$ mag_h_na                       <fct> NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA,…
$ mag_k_na                       <fct> NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, …
$ star_metallicity_na            <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ star_mass_na                   <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, !NA, NA, NA, NA, NA…
$ star_radius_na                 <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ star_sp_type_na                <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, !NA, NA, NA, NA, NA…
$ star_age_na                    <fct> !NA, NA, NA, NA, !NA, NA, !NA, !NA, !NA, NA, !NA, NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, !NA, N…
$ star_teff_na                   <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ star_detected_disc_na          <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ star_alternate_names_na        <fct> !NA, !NA, !NA, !NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, NA, !NA, !NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, !NA, NA, NA, NA, NA, !NA, …
library(rpart)
library(dplyr)
library(purrr)

set.seed(123)

# Define target and predictor columns
target_cols <- names(shadow_exoplanets) %>% 
  keep(~ startsWith(.x, "detection_type_"))

predictor_cols <- names(shadow_exoplanets) %>% 
  setdiff(c("name", target_cols))

# Train decision trees for each target label
models <- target_cols %>%
  set_names() %>%
  map(~ rpart(as.formula(paste(.x, "~", paste(predictor_cols, collapse = " + "))),
              data = shadow_exoplanets, method = "class"))

# Make predictions and add them to the original dataset
shadow_exoplanets_with_preds <- shadow_exoplanets %>%
  bind_cols(models %>%
    map_dfc(~ predict(.x, shadow_exoplanets, type = "class")) %>%
    rename_with(~ paste0("pred_", target_cols))  # Prefix predictions for clarity
  )

predictions <- shadow_exoplanets_with_preds %>%
  mutate(
    actual_combined = apply(select(., all_of(target_cols)), 1, paste, collapse = "_"),
    predicted_combined = apply(select(., starts_with("pred_")), 1, paste, collapse = "_")
  ) %>% select(actual_combined, predicted_combined, starts_with("pred_"), starts_with("detection_type_"))
predictions
multi_label_confusion_matrix <- function(y_true, y_pred) {
  result <- list()
  
  for (col in names(y_true)) {
    confusion_matrix <- table(y_true[[col]], y_pred[[paste0("pred_", col)]])
    result[[col]] <- confusion_matrix
  }
  
  return(result)
}
multi_label_confusion_matrix(shadow_exoplanets_with_preds %>% select(starts_with("detection_type_")), predictions %>% select(starts_with("pred_")))
$detection_type_astrometry
   
       0    1
  0 7194   22
  1   86  116

$detection_type_imaging
   
       0    1
  0 6335   53
  1   58  972

$detection_type_radial_velocity
   
       0    1
  0 6075   77
  1   83 1183

$detection_type_kinematic
   
       0    1
  0 7399    0
  1   19    0

$detection_type_other
   
       0    1
  0 7314    3
  1   70   31

$detection_type_primary_transit
   
       0    1
  0 2785  105
  1   70 4458

$detection_type_microlensing
   
       0    1
  0 7096    9
  1   14  299

$detection_type_ttv
   
       0    1
  0 7383    1
  1   26    8

$detection_type_timing
   
       0    1
  0 7222   18
  1   48  130
# Load necessary library
library(rpart.plot)

# Plot the decision trees with titles
target_cols %>%
  map2(models, ~ {
    rpart.plot(.y, 
               type = 4, 
               extra = 101, 
               under = TRUE, 
               fallen.leaves = TRUE,
               main = paste("Decision Tree for", .x))  # Title with the target label
  })

[[1]]
[[1]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

   1) root 7418 202 0 (0.972768940 0.027231060)  
     2) star_distance>=108.984 5157  26 0 (0.994958309 0.005041691) *
     3) star_distance< 108.984 2261 176 0 (0.922158337 0.077841663)  
       6) mass_na=NA 968   1 0 (0.998966942 0.001033058) *
       7) mass_na=!NA 1293 175 0 (0.864655839 0.135344161)  
        14) radius_na=!NA 690  18 0 (0.973913043 0.026086957) *
        15) radius_na=NA 603 157 0 (0.739635158 0.260364842)  
          30) inclination_na=NA 371  42 0 (0.886792453 0.113207547)  
            60) updated< 2024.638 260  12 0 (0.953846154 0.046153846) *
            61) updated>=2024.638 111  30 0 (0.729729730 0.270270270)  
             122) mass_measurement_type_na=NA 59   2 0 (0.966101695 0.033898305) *
             123) mass_measurement_type_na=!NA 52  24 1 (0.461538462 0.538461538)  
               246) updated>=2024.642 45  21 0 (0.533333333 0.466666667)  
                 492) dec>=-36.07075 34  12 0 (0.647058824 0.352941176) *
                 493) dec< -36.07075 11   2 1 (0.181818182 0.818181818) *
               247) updated< 2024.642 7   0 1 (0.000000000 1.000000000) *
          31) inclination_na=!NA 232 115 0 (0.504310345 0.495689655)  
            62) updated< 2024.422 53   4 0 (0.924528302 0.075471698) *
            63) updated>=2024.422 179  68 1 (0.379888268 0.620111732)  
             126) diff_disc_updated>=4.168493 90  37 0 (0.588888889 0.411111111)  
               252) dec>=-47.80806 80  28 0 (0.650000000 0.350000000)  
                 504) omega_na=NA 12   0 0 (1.000000000 0.000000000) *
                 505) omega_na=!NA 68  28 0 (0.588235294 0.411764706)  
                  1010) ra< 242.6082 51  16 0 (0.686274510 0.313725490)  
                    2020) star_distance< 41.1811 36   7 0 (0.805555556 0.194444444) *
                    2021) star_distance>=41.1811 15   6 1 (0.400000000 0.600000000) *
                  1011) ra>=242.6082 17   5 1 (0.294117647 0.705882353) *
               253) dec< -47.80806 10   1 1 (0.100000000 0.900000000) *
             127) diff_disc_updated< 4.168493 89  15 1 (0.168539326 0.831460674)  
               254) tperi_na=!NA 11   4 0 (0.636363636 0.363636364) *
               255) tperi_na=NA 78   8 1 (0.102564103 0.897435897) *

[[1]]$snipped.nodes
NULL

[[1]]$xlim
[1] 0 1

[[1]]$ylim
[1] 0 1

[[1]]$x
 [1] 0.11155452 0.01999938 0.20310965 0.08487998 0.32133933 0.14976057 0.49291809 0.28357680 0.21464117 0.35251243 0.27952176 0.42550310 0.37684265 0.34440236 0.40928295 0.47416354 0.70225939 0.53904414 0.86547463 0.77018126 0.67691540 0.60392473 0.74990607 0.70124563
[25] 0.66880533 0.73368592 0.79856652 0.86344711 0.96076801 0.92832771 0.99320830

[[1]]$y
 [1] 0.97521782 0.01347644 0.88778678 0.07086438 0.80035575 0.01347644 0.71292472 0.62549368 0.07086438 0.53806265 0.01347644 0.45063161 0.36320058 0.07086438 0.01347644 0.07086438 0.62549368 0.01347644 0.53806265 0.45063161 0.36320058 0.07086438 0.27576954 0.18833851
[25] 0.01347644 0.07086438 0.01347644 0.07086438 0.45063161 0.01347644 0.07086438

[[1]]$branch.x
       [,1]       [,2]      [,3]       [,4]      [,5]      [,6]      [,7]      [,8]      [,9]     [,10]     [,11]     [,12]     [,13]     [,14]     [,15]     [,16]     [,17]     [,18]     [,19]     [,20]     [,21]     [,22]     [,23]     [,24]     [,25]     [,26]
x 0.1115545 0.01999938 0.2031097 0.08487998 0.3213393 0.1497606 0.4929181 0.2835768 0.2146412 0.3525124 0.2795218 0.4255031 0.3768427 0.3444024 0.4092829 0.4741635 0.7022594 0.5390441 0.8654746 0.7701813 0.6769154 0.6039247 0.7499061 0.7012456 0.6688053 0.7336859
         NA 0.01999938 0.2031097 0.08487998 0.3213393 0.1497606 0.4929181 0.2835768 0.2146412 0.3525124 0.2795218 0.4255031 0.3768427 0.3444024 0.4092829 0.4741635 0.7022594 0.5390441 0.8654746 0.7701813 0.6769154 0.6039247 0.7499061 0.7012456 0.6688053 0.7336859
         NA 0.11155452 0.1115545 0.20310965 0.2031097 0.3213393 0.3213393 0.4929181 0.2835768 0.2835768 0.3525124 0.3525124 0.4255031 0.3768427 0.3768427 0.4255031 0.4929181 0.7022594 0.7022594 0.8654746 0.7701813 0.6769154 0.6769154 0.7499061 0.7012456 0.7012456
      [,27]     [,28]     [,29]     [,30]     [,31]
x 0.7985665 0.8634471 0.9607680 0.9283277 0.9932083
  0.7985665 0.8634471 0.9607680 0.9283277 0.9932083
  0.7499061 0.7701813 0.8654746 0.9607680 0.9607680

[[1]]$branch.y
       [,1]       [,2]      [,3]       [,4]      [,5]       [,6]      [,7]      [,8]       [,9]     [,10]      [,11]     [,12]     [,13]      [,14]      [,15]      [,16]     [,17]      [,18]     [,19]     [,20]     [,21]      [,22]     [,23]     [,24]      [,25]
y 0.9986348 0.03689337 0.9112037 0.09428131 0.8237727 0.03689337 0.7363416 0.6489106 0.09428131 0.5614796 0.03689337 0.4740485 0.3866175 0.09428131 0.03689337 0.09428131 0.6489106 0.03689337 0.5614796 0.4740485 0.3866175 0.09428131 0.2991865 0.2117554 0.03689337
         NA 0.98923036 0.9892304 0.90179933 0.9017993 0.81436829 0.8143683 0.7269373 0.63950622 0.6395062 0.55207519 0.5520752 0.4646442 0.37721312 0.37721312 0.46464416 0.7269373 0.63950622 0.6395062 0.5520752 0.4646442 0.37721312 0.3772131 0.2897821 0.20235105
         NA 0.98923036 0.9892304 0.90179933 0.9017993 0.81436829 0.8143683 0.7269373 0.63950622 0.6395062 0.55207519 0.5520752 0.4646442 0.37721312 0.37721312 0.46464416 0.7269373 0.63950622 0.6395062 0.5520752 0.4646442 0.37721312 0.3772131 0.2897821 0.20235105
       [,26]      [,27]      [,28]     [,29]      [,30]      [,31]
y 0.09428131 0.03689337 0.09428131 0.4740485 0.03689337 0.09428131
  0.20235105 0.28978209 0.46464416 0.5520752 0.46464416 0.46464416
  0.20235105 0.28978209 0.46464416 0.5520752 0.46464416 0.46464416

[[1]]$labs
 [1] "0\n\n7216  202\n100%" "0\n\n5131  26\n70%"   "0\n\n2085  176\n30%"  "0\n\n967  1\n13%"     "0\n\n1118  175\n17%"  "0\n\n672  18\n9%"     "0\n\n446  157\n8%"    "0\n\n329  42\n5%"     "0\n\n248  12\n4%"     "0\n\n81  30\n1%"      "0\n\n57  2\n1%"      
[12] "1\n\n24  28\n1%"      "0\n\n24  21\n1%"      "0\n\n22  12\n0%"      "1\n\n2  9\n0%"        "1\n\n0  7\n0%"        "0\n\n117  115\n3%"    "0\n\n49  4\n1%"       "1\n\n68  111\n2%"     "0\n\n53  37\n1%"      "0\n\n52  28\n1%"      "0\n\n12  0\n0%"      
[23] "0\n\n40  28\n1%"      "0\n\n35  16\n1%"      "0\n\n29  7\n0%"       "1\n\n6  9\n0%"        "1\n\n5  12\n0%"       "1\n\n1  9\n0%"        "1\n\n15  74\n1%"      "0\n\n7  4\n0%"        "1\n\n8  70\n1%"      

[[1]]$cex
[1] 0.15

[[1]]$boxes
[[1]]$boxes$x1
 [1] 0.10858487 0.01702974 0.20014001 0.08191033 0.31836969 0.14679093 0.48994845 0.28060715 0.21167152 0.34954279 0.27655212 0.42253345 0.37387301 0.34143271 0.40631331 0.47119390 0.69928974 0.53607450 0.86250499 0.76721161 0.67394576 0.60095509 0.74693643 0.69827598
[25] 0.66583568 0.73071628 0.79559687 0.86047747 0.95779836 0.92535806 0.99023866

[[1]]$boxes$y1
 [1] 0.97982597 0.01808459 0.89239494 0.07547253 0.80496390 0.01808459 0.71753287 0.63010183 0.07547253 0.54267080 0.01808459 0.45523976 0.36780873 0.07547253 0.01808459 0.07547253 0.63010183 0.01808459 0.54267080 0.45523976 0.36780873 0.07547253 0.28037770 0.19294666
[25] 0.01808459 0.07547253 0.01808459 0.07547253 0.45523976 0.01808459 0.07547253

[[1]]$boxes$x2
 [1] 0.11452416 0.02296903 0.20607930 0.08784962 0.32430898 0.15273021 0.49588774 0.28654644 0.21761081 0.35548207 0.28249140 0.42847274 0.37981230 0.34737200 0.41225259 0.47713319 0.70522903 0.54201378 0.86844428 0.77315090 0.67988505 0.60689438 0.75287572 0.70421527
[25] 0.67177497 0.73665557 0.80153616 0.86641676 0.96373765 0.93129735 0.99617795

[[1]]$boxes$y2
 [1] 0.99863475 0.03689337 0.91120372 0.09428131 0.82377268 0.03689337 0.73634165 0.64891061 0.09428131 0.56147958 0.03689337 0.47404855 0.38661751 0.09428131 0.03689337 0.09428131 0.64891061 0.03689337 0.56147958 0.47404855 0.38661751 0.09428131 0.29918648 0.21175544
[25] 0.03689337 0.09428131 0.03689337 0.09428131 0.47404855 0.03689337 0.09428131


[[1]]$split.labs
[1] ""

[[1]]$split.cex
 [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

[[1]]$split.box
[[1]]$split.box$x1
 [1] -0.000550555           NA  0.070863257           NA  0.134555994           NA  0.264808648  0.199436588           NA  0.245905391           NA  0.360450218  0.333949208           NA           NA           NA  0.523839562           NA  0.746067749  0.666462256
[21]  0.588720157           NA  0.693168195  0.650631108           NA           NA           NA           NA  0.914904917           NA           NA

[[1]]$split.box$y1
 [1] 0.9315814        NA 0.8441504        NA 0.7567194        NA 0.6692883 0.5818573        NA 0.4944263        NA 0.4069952 0.3195642        NA        NA        NA 0.5818573        NA 0.4944263 0.4069952 0.3195642        NA 0.2321332 0.1447021        NA        NA
[27]        NA        NA 0.4069952        NA        NA

[[1]]$split.box$x2
 [1] 0.04054932         NA 0.09889670         NA 0.16496515         NA 0.30234495 0.22984574         NA 0.31313813         NA 0.39323509 0.35485550         NA         NA         NA 0.55424872         NA 0.79429477 0.68736855 0.61912931         NA 0.70932306 0.68697955
[25]         NA         NA         NA         NA 0.94175050         NA         NA

[[1]]$split.box$y2
 [1] 0.9503902        NA 0.8629592        NA 0.7755282        NA 0.6880971 0.6006661        NA 0.5132351        NA 0.4258040 0.3383730        NA        NA        NA 0.6006661        NA 0.5132351 0.4258040 0.3383730        NA 0.2509420 0.1635109        NA        NA
[27]        NA        NA 0.4258040        NA        NA



[[2]]
[[2]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

 1) root 7418 1030 0 (0.861148558 0.138851442)  
   2) star_name_na=!NA 6638  302 0 (0.954504369 0.045495631)  
     4) orbital_period_na=!NA 6083   55 0 (0.990958409 0.009041591) *
     5) orbital_period_na=NA 555  247 0 (0.554954955 0.445045045)  
      10) star_distance>=413.175 282    3 0 (0.989361702 0.010638298) *
      11) star_distance< 413.175 273   29 1 (0.106227106 0.893772894) *
   3) star_name_na=NA 780   52 1 (0.066666667 0.933333333)  
     6) star_distance>=947.5 28    0 0 (1.000000000 0.000000000) *
     7) star_distance< 947.5 752   24 1 (0.031914894 0.968085106) *

[[2]]$snipped.nodes
NULL

[[2]]$xlim
[1] 0 1

[[2]]$ylim
[1] 0 1

[[2]]$x
[1] 0.54999629 0.24048427 0.07165954 0.40930901 0.29675918 0.52185883 0.85950830 0.74695848 0.97205813

[[2]]$y
[1] 0.93225602 0.66235050 0.04156779 0.39244497 0.04156779 0.04156779 0.66235050 0.04156779 0.04156779

[[2]]$branch.x
       [,1]      [,2]       [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]
x 0.5499963 0.2404843 0.07165954 0.4093090 0.2967592 0.5218588 0.8595083 0.7469585 0.9720581
         NA 0.2404843 0.07165954 0.4093090 0.2967592 0.5218588 0.8595083 0.7469585 0.9720581
         NA 0.5499963 0.24048427 0.2404843 0.4093090 0.4093090 0.5499963 0.8595083 0.8595083

[[2]]$branch.y
      [,1]      [,2]      [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]
y 1.002436 0.7325308 0.1117481 0.4626252 0.1117481 0.1117481 0.7325308 0.1117481 0.1117481
        NA 0.9789253 0.7090198 0.7090198 0.4391143 0.4391143 0.9789253 0.7090198 0.7090198
        NA 0.9789253 0.7090198 0.7090198 0.4391143 0.4391143 0.9789253 0.7090198 0.7090198

[[2]]$labs
[1] "0\n\n6388  1030\n100%" "0\n\n6336  302\n89%"   "0\n\n6028  55\n82%"    "0\n\n308  247\n7%"     "0\n\n279  3\n4%"       "1\n\n29  244\n4%"      "1\n\n52  728\n11%"     "0\n\n28  0\n0%"        "1\n\n24  728\n10%"    

[[2]]$cex
[1] 0.5625

[[2]]$boxes
[[2]]$boxes$x1
[1] 0.54049343 0.23098141 0.06215667 0.39980615 0.28725632 0.51235597 0.85000544 0.73745562 0.96255527

[[2]]$boxes$y1
[1] 0.9554143 0.6855088 0.0647261 0.4156033 0.0647261 0.0647261 0.6855088 0.0647261 0.0647261

[[2]]$boxes$x2
[1] 0.5594991 0.2499871 0.0811624 0.4188119 0.3062620 0.5313617 0.8690112 0.7564613 0.9815610

[[2]]$boxes$y2
[1] 1.0024363 0.7325308 0.1117481 0.4626252 0.1117481 0.1117481 0.7325308 0.1117481 0.1117481


[[2]]$split.labs
[1] ""

[[2]]$split.cex
[1] 1 1 1 1 1 1 1 1 1

[[2]]$split.box
[[2]]$split.box$x1
[1]  0.170994603 -0.007926923           NA  0.224299871           NA           NA  0.674499168           NA           NA

[[2]]$split.box$y1
[1] 0.8231651 0.5532596        NA 0.2833540        NA        NA 0.5532596        NA        NA

[[2]]$split.box$x2
[1] 0.3099739 0.1512460        NA 0.3692185        NA        NA 0.8194178        NA        NA

[[2]]$split.box$y2
[1] 0.8701870 0.6002815        NA 0.3303760        NA        NA 0.6002815        NA        NA



[[3]]
[[3]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

 1) root 7418 1266 0 (0.829334052 0.170665948)  
   2) mass_sini_na=NA 6011  138 0 (0.977042090 0.022957910)  
     4) omega_na=NA 5264   27 0 (0.994870821 0.005129179) *
     5) omega_na=!NA 747  111 0 (0.851405622 0.148594378)  
      10) radius_na=!NA 598   16 0 (0.973244147 0.026755853) *
      11) radius_na=NA 149   54 1 (0.362416107 0.637583893)  
        22) k_na=NA 59   13 0 (0.779661017 0.220338983) *
        23) k_na=!NA 90    8 1 (0.088888889 0.911111111) *
   3) mass_sini_na=!NA 1407  279 1 (0.198294243 0.801705757)  
     6) star_distance>=228.4595 256   61 0 (0.761718750 0.238281250)  
      12) tperi_na=NA 208   21 0 (0.899038462 0.100961538) *
      13) tperi_na=!NA 48    8 1 (0.166666667 0.833333333) *
     7) star_distance< 228.4595 1151   84 1 (0.072980017 0.927019983)  
      14) impact_parameter_na=!NA 29    6 0 (0.793103448 0.206896552) *
      15) impact_parameter_na=NA 1122   61 1 (0.054367201 0.945632799) *

[[3]]$snipped.nodes
NULL

[[3]]$xlim
[1] 0 1

[[3]]$ylim
[1] 0 1

[[3]]$x
 [1] 0.46563942 0.15930738 0.04339796 0.27521680 0.17586587 0.37456774 0.30833378 0.44080169 0.77197147 0.63950356 0.57326960 0.70573751 0.90443938 0.83820542 0.97067333

[[3]]$y
 [1] 0.9433406 0.7369702 0.0353107 0.5305998 0.0353107 0.3242293 0.0353107 0.0353107 0.7369702 0.5305998 0.0353107 0.0353107 0.5305998 0.0353107 0.0353107

[[3]]$branch.x
       [,1]      [,2]       [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]     [,10]     [,11]     [,12]     [,13]     [,14]     [,15]
x 0.4656394 0.1593074 0.04339796 0.2752168 0.1758659 0.3745677 0.3083338 0.4408017 0.7719715 0.6395036 0.5732696 0.7057375 0.9044394 0.8382054 0.9706733
         NA 0.1593074 0.04339796 0.2752168 0.1758659 0.3745677 0.3083338 0.4408017 0.7719715 0.6395036 0.5732696 0.7057375 0.9044394 0.8382054 0.9706733
         NA 0.4656394 0.15930738 0.1593074 0.2752168 0.2752168 0.3745677 0.3745677 0.4656394 0.7719715 0.6395036 0.6395036 0.7719715 0.9044394 0.9044394

[[3]]$branch.y
      [,1]      [,2]       [,3]      [,4]       [,5]      [,6]       [,7]       [,8]      [,9]     [,10]      [,11]      [,12]     [,13]      [,14]      [,15]
y 1.001037 0.7946661 0.09300664 0.5882957 0.09300664 0.3819253 0.09300664 0.09300664 0.7946661 0.5882957 0.09300664 0.09300664 0.5882957 0.09300664 0.09300664
        NA 0.9822278 0.77585735 0.7758573 0.56948691 0.5694869 0.36311647 0.36311647 0.9822278 0.7758573 0.56948691 0.56948691 0.7758573 0.56948691 0.56948691
        NA 0.9822278 0.77585735 0.7758573 0.56948691 0.5694869 0.36311647 0.36311647 0.9822278 0.7758573 0.56948691 0.56948691 0.7758573 0.56948691 0.56948691

[[3]]$labs
 [1] "0\n\n6152  1266\n100%" "0\n\n5873  138\n81%"   "0\n\n5237  27\n71%"    "0\n\n636  111\n10%"    "0\n\n582  16\n8%"      "1\n\n54  95\n2%"       "0\n\n46  13\n1%"       "1\n\n8  82\n1%"        "1\n\n279  1128\n19%"   "0\n\n195  61\n3%"      "0\n\n187  21\n3%"     
[12] "1\n\n8  40\n1%"        "1\n\n84  1067\n16%"    "0\n\n23  6\n0%"        "1\n\n61  1061\n15%"   

[[3]]$cex
[1] 0.475

[[3]]$boxes
[[3]]$boxes$x1
 [1] 0.45673049 0.15039845 0.03448903 0.26630787 0.16695694 0.36565880 0.29942485 0.43189276 0.76306254 0.63059462 0.56436067 0.69682858 0.89553045 0.82929649 0.96176440

[[3]]$boxes$y1
 [1] 0.96341900 0.75704856 0.05538908 0.55067813 0.05538908 0.34430769 0.05538908 0.05538908 0.75704856 0.55067813 0.05538908 0.05538908 0.55067813 0.05538908 0.05538908

[[3]]$boxes$x2
 [1] 0.47454836 0.16821631 0.05230689 0.28412574 0.18477480 0.38347667 0.31724271 0.44971062 0.78088040 0.64841249 0.58217853 0.71464644 0.91334831 0.84711435 0.97958226

[[3]]$boxes$y2
 [1] 1.00103657 0.79466613 0.09300664 0.58829569 0.09300664 0.38192525 0.09300664 0.09300664 0.79466613 0.58829569 0.09300664 0.09300664 0.58829569 0.09300664 0.09300664


[[3]]$split.labs
[1] ""

[[3]]$split.cex
 [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

[[3]]$split.box
[[3]]$split.box$x1
 [1]  0.101815075 -0.003403628           NA  0.128470353           NA  0.277568270           NA           NA  0.577259819  0.533001229           NA           NA  0.756362034           NA           NA

[[3]]$split.box$y1
 [1] 0.8560679 0.6496974        NA 0.4433270        NA 0.2369566        NA        NA 0.6496974 0.4433270        NA        NA 0.4433270        NA        NA

[[3]]$split.box$x2
 [1] 0.21679969 0.09019955         NA 0.22326139         NA 0.33909929         NA         NA 0.70174729 0.61353797         NA         NA 0.92004881         NA         NA

[[3]]$split.box$y2
 [1] 0.8936854 0.6873150        NA 0.4809446        NA 0.2745741        NA        NA 0.6873150 0.4809446        NA        NA 0.4809446        NA        NA



[[4]]
[[4]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

1) root 7418 19 0 (0.997438663 0.002561337) *

[[4]]$snipped.nodes
NULL

[[4]]$xlim
[1] 0 1

[[4]]$ylim
[1] 0 1

[[4]]$x
[1] 0.5

[[4]]$y
[1] 0.5

[[4]]$branch.x
  [,1]
x  0.5
    NA
    NA

[[4]]$branch.y
  [,1]
y  0.5
    NA
    NA

[[4]]$labs
[1] "0\n\n7399  19\n100%"

[[4]]$cex
[1] 1

[[4]]$boxes
[[4]]$boxes$x1
[1] 0.4815882

[[4]]$boxes$y1
[1] 0.5420846

[[4]]$boxes$x2
[1] 0.5184118

[[4]]$boxes$y2
[1] 0.622022


[[4]]$split.labs
[1] ""

[[4]]$split.cex
[1] 1

[[4]]$split.box
[[4]]$split.box$x1
[1] NA

[[4]]$split.box$y1
[1] NA

[[4]]$split.box$x2
[1] NA

[[4]]$split.box$y2
[1] NA



[[5]]
[[5]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

 1) root 7418 101 0 (0.986384470 0.013615530)  
   2) diff_disc_updated< 11.64617 6239  34 0 (0.994550409 0.005449591) *
   3) diff_disc_updated>=11.64617 1179  67 0 (0.943172180 0.056827820)  
     6) star_distance< 143.995 791  16 0 (0.979772440 0.020227560) *
     7) star_distance>=143.995 388  51 0 (0.868556701 0.131443299)  
      14) star_distance>=145.3505 353  31 0 (0.912181303 0.087818697)  
        28) ra>=84.77248 276  11 0 (0.960144928 0.039855072) *
        29) ra< 84.77248 77  20 0 (0.740259740 0.259740260)  
          58) ra< 84.7573 64   7 0 (0.890625000 0.109375000) *
          59) ra>=84.7573 13   0 1 (0.000000000 1.000000000) *
      15) star_distance< 145.3505 35  15 1 (0.428571429 0.571428571)  
        30) temp_calculated_na=NA 14   2 0 (0.857142857 0.142857143) *
        31) temp_calculated_na=!NA 21   3 1 (0.142857143 0.857142857) *

[[5]]$snipped.nodes
NULL

[[5]]$xlim
[1] 0 1

[[5]]$ylim
[1] 0 1

[[5]]$x
 [1] 0.24382224 0.04208274 0.44556175 0.19953796 0.69158553 0.47508460 0.35699318 0.59317602 0.51444841 0.67190363 0.90808646 0.82935885 0.98681408

[[5]]$y
 [1] 0.95749510 0.02608106 0.78814709 0.02608106 0.61879909 0.44945108 0.02608106 0.28010307 0.02608106 0.02608106 0.44945108 0.02608106 0.02608106

[[5]]$branch.x
       [,1]       [,2]      [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]     [,10]     [,11]     [,12]     [,13]
x 0.2438222 0.04208274 0.4455617 0.1995380 0.6915855 0.4750846 0.3569932 0.5931760 0.5144484 0.6719036 0.9080865 0.8293589 0.9868141
         NA 0.04208274 0.4455617 0.1995380 0.6915855 0.4750846 0.3569932 0.5931760 0.5144484 0.6719036 0.9080865 0.8293589 0.9868141
         NA 0.24382224 0.2438222 0.4455617 0.4455617 0.6915855 0.4750846 0.4750846 0.5931760 0.5931760 0.6915855 0.9080865 0.9080865

[[5]]$branch.y
       [,1]       [,2]      [,3]       [,4]      [,5]      [,6]       [,7]      [,8]       [,9]      [,10]     [,11]      [,12]      [,13]
y 0.9996033 0.06818922 0.8302553 0.06818922 0.6609072 0.4915592 0.06818922 0.3222112 0.06818922 0.06818922 0.4915592 0.06818922 0.06818922
         NA 0.98549667 0.9854967 0.81614867 0.8161487 0.6468007 0.47745265 0.4774527 0.30810464 0.30810464 0.6468007 0.47745265 0.47745265
         NA 0.98549667 0.9854967 0.81614867 0.8161487 0.6468007 0.47745265 0.4774527 0.30810464 0.30810464 0.6468007 0.47745265 0.47745265

[[5]]$labs
 [1] "0\n\n7317  101\n100%" "0\n\n6205  34\n84%"   "0\n\n1112  67\n16%"   "0\n\n775  16\n11%"    "0\n\n337  51\n5%"     "0\n\n322  31\n5%"     "0\n\n265  11\n4%"     "0\n\n57  20\n1%"      "0\n\n57  7\n1%"       "1\n\n0  13\n0%"       "1\n\n15  20\n0%"     
[12] "0\n\n12  2\n0%"       "1\n\n3  18\n0%"      

[[5]]$cex
[1] 0.3375

[[5]]$boxes
[[5]]$boxes$x1
 [1] 0.23788295 0.03614345 0.43962246 0.19359867 0.68564624 0.46914531 0.35105389 0.58723673 0.50850912 0.66596434 0.90214718 0.82341956 0.98087479

[[5]]$boxes$y1
 [1] 0.97139009 0.03997605 0.80204208 0.03997605 0.63269407 0.46334607 0.03997605 0.29399806 0.03997605 0.03997605 0.46334607 0.03997605 0.03997605

[[5]]$boxes$x2
 [1] 0.24976153 0.04802202 0.45150103 0.20547725 0.69752482 0.48102389 0.36293247 0.59911531 0.52038769 0.67784292 0.91402575 0.83529814 0.99275336

[[5]]$boxes$y2
 [1] 0.99960326 0.06818922 0.83025525 0.06818922 0.66090725 0.49155924 0.06818922 0.32221123 0.06818922 0.06818922 0.49155924 0.06818922 0.06818922


[[5]]$split.labs
[1] ""

[[5]]$split.cex
 [1] 1 1 1 1 1 1 1 1 1 1 1 1 1

[[5]]$split.box
[[5]]$split.box$x1
 [1] -0.002461924           NA  0.160338659           NA  0.433509585  0.340363176           NA  0.500194115           NA           NA  0.778874905           NA           NA

[[5]]$split.box$y1
 [1] 0.8920405        NA 0.7226925        NA 0.5533445 0.3839965        NA 0.2146485        NA        NA 0.3839965        NA        NA

[[5]]$split.box$x2
 [1] 0.0866274        NA 0.2387373        NA 0.5166596 0.3736232        NA 0.5287027        NA        NA 0.8798428        NA        NA

[[5]]$split.box$y2
 [1] 0.9202537        NA 0.7509057        NA 0.5815577 0.4122097        NA 0.2428617        NA        NA 0.4122097        NA        NA



[[6]]
[[6]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

 1) root 7418 2890 1 (0.38959288 0.61040712)  
   2) radius_na=NA 2444   43 0 (0.98240589 0.01759411) *
   3) radius_na=!NA 4974  489 1 (0.09831122 0.90168878)  
     6) orbital_period_na=NA 347   10 0 (0.97118156 0.02881844) *
     7) orbital_period_na=!NA 4627  152 1 (0.03285066 0.96714934)  
      14) discovered< 2006.5 64   17 0 (0.73437500 0.26562500) *
      15) discovered>=2006.5 4563  105 1 (0.02301118 0.97698882) *

[[6]]$snipped.nodes
NULL

[[6]]$xlim
[1] 0 1

[[6]]$ylim
[1] 0 1

[[6]]$x
[1] 0.31506792 0.04787934 0.58225650 0.35323772 0.81127529 0.65859610 0.96395447

[[6]]$y
[1] 0.93225602 0.04156779 0.66235050 0.04156779 0.39244497 0.04156779 0.04156779

[[6]]$branch.x
       [,1]       [,2]      [,3]      [,4]      [,5]      [,6]      [,7]
x 0.3150679 0.04787934 0.5822565 0.3532377 0.8112753 0.6585961 0.9639545
         NA 0.04787934 0.5822565 0.3532377 0.8112753 0.6585961 0.9639545
         NA 0.31506792 0.3150679 0.5822565 0.5822565 0.8112753 0.8112753

[[6]]$branch.y
      [,1]      [,2]      [,3]      [,4]      [,5]      [,6]      [,7]
y 1.002436 0.1117481 0.7325308 0.1117481 0.4626252 0.1117481 0.1117481
        NA 0.9789253 0.9789253 0.7090198 0.7090198 0.4391143 0.4391143
        NA 0.9789253 0.9789253 0.7090198 0.7090198 0.4391143 0.4391143

[[6]]$labs
[1] "1\n\n2890  4528\n100%" "0\n\n2401  43\n33%"    "1\n\n489  4485\n67%"   "0\n\n337  10\n5%"      "1\n\n152  4475\n62%"   "0\n\n47  17\n1%"       "1\n\n105  4458\n62%"  

[[6]]$cex
[1] 0.5625

[[6]]$boxes
[[6]]$boxes$x1
[1] 0.30556506 0.03837648 0.57275364 0.34373486 0.80177242 0.64909324 0.95445161

[[6]]$boxes$y1
[1] 0.9554143 0.0647261 0.6855088 0.0647261 0.4156033 0.0647261 0.0647261

[[6]]$boxes$x2
[1] 0.3245708 0.0573822 0.5917594 0.3627406 0.8207781 0.6680990 0.9734573

[[6]]$boxes$y2
[1] 1.0024363 0.1117481 0.7325308 0.1117481 0.4626252 0.1117481 0.1117481


[[6]]$split.labs
[1] ""

[[6]]$split.cex
[1] 1 1 1 1 1 1 1

[[6]]$split.box
[[6]]$split.box$x1
[1] -0.004386395           NA  0.275433046           NA  0.595639644           NA           NA

[[6]]$split.box$y1
[1] 0.8231651        NA 0.5532596        NA 0.2833540        NA        NA

[[6]]$split.box$x2
[1] 0.1001451        NA 0.4310424        NA 0.7215525        NA        NA

[[6]]$split.box$y2
[1] 0.8701870        NA 0.6002815        NA 0.3303760        NA        NA



[[7]]
[[7]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

 1) root 7418 313 0 (0.9578053384 0.0421946616)  
   2) star_distance< 2644 7095  65 0 (0.9908386187 0.0091613813)  
     4) orbital_period_na=!NA 6048   2 0 (0.9996693122 0.0003306878) *
     5) orbital_period_na=NA 1047  63 0 (0.9398280802 0.0601719198)  
      10) star_distance< 908 1018  39 0 (0.9616895874 0.0383104126)  
        20) updated>=2024.141 894   5 0 (0.9944071588 0.0055928412) *
        21) updated< 2024.141 124  34 0 (0.7258064516 0.2741935484)  
          42) ra< 256.95 82   1 0 (0.9878048780 0.0121951220) *
          43) ra>=256.95 42   9 1 (0.2142857143 0.7857142857)  
            86) ra>=276.3813 9   0 0 (1.0000000000 0.0000000000) *
            87) ra< 276.3813 33   0 1 (0.0000000000 1.0000000000) *
      11) star_distance>=908 29   5 1 (0.1724137931 0.8275862069) *
   3) star_distance>=2644 323  75 1 (0.2321981424 0.7678018576)  
     6) orbital_period_na=!NA 77   6 0 (0.9220779221 0.0779220779) *
     7) orbital_period_na=NA 246   4 1 (0.0162601626 0.9837398374) *

[[7]]$snipped.nodes
NULL

[[7]]$xlim
[1] 0 1

[[7]]$ylim
[1] 0 1

[[7]]$x
 [1] 0.59427553 0.26765601 0.03283152 0.50248050 0.28900369 0.16945668 0.40855071 0.30608184 0.51101957 0.44270699 0.57933215 0.71595731 0.92089505 0.85258247 0.98920763

[[7]]$y
 [1] 0.96655706 0.82306765 0.01952693 0.67957824 0.53608882 0.01952693 0.39259941 0.01952693 0.24911000 0.01952693 0.01952693 0.01952693 0.82306765 0.01952693 0.01952693

[[7]]$branch.x
       [,1]      [,2]       [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]     [,10]     [,11]     [,12]     [,13]     [,14]     [,15]
x 0.5942755 0.2676560 0.03283152 0.5024805 0.2890037 0.1694567 0.4085507 0.3060818 0.5110196 0.4427070 0.5793322 0.7159573 0.9208951 0.8525825 0.9892076
         NA 0.2676560 0.03283152 0.5024805 0.2890037 0.1694567 0.4085507 0.3060818 0.5110196 0.4427070 0.5793322 0.7159573 0.9208951 0.8525825 0.9892076
         NA 0.5942755 0.26765601 0.2676560 0.5024805 0.2890037 0.2890037 0.4085507 0.4085507 0.5110196 0.5110196 0.5024805 0.5942755 0.9208951 0.9208951

[[7]]$branch.y
       [,1]      [,2]       [,3]      [,4]      [,5]       [,6]      [,7]       [,8]      [,9]      [,10]      [,11]      [,12]     [,13]      [,14]      [,15]
y 0.9989317 0.8554423 0.05190155 0.7119529 0.5684634 0.05190155 0.4249740 0.05190155 0.2814846 0.05190155 0.05190155 0.05190155 0.8554423 0.05190155 0.05190155
         NA 0.9871762 0.84368678 0.8436868 0.7001974 0.55670795 0.5567079 0.41321854 0.4132185 0.26972912 0.26972912 0.70019736 0.9871762 0.84368678 0.84368678
         NA 0.9871762 0.84368678 0.8436868 0.7001974 0.55670795 0.5567079 0.41321854 0.4132185 0.26972912 0.26972912 0.70019736 0.9871762 0.84368678 0.84368678

[[7]]$labs
 [1] "0\n\n7105  313\n100%" "0\n\n7030  65\n96%"   "0\n\n6046  2\n82%"    "0\n\n984  63\n14%"    "0\n\n979  39\n14%"    "0\n\n889  5\n12%"     "0\n\n90  34\n2%"      "0\n\n81  1\n1%"       "1\n\n9  33\n1%"       "0\n\n9  0\n0%"        "1\n\n0  33\n0%"      
[12] "1\n\n5  24\n0%"       "1\n\n75  248\n4%"     "0\n\n71  6\n1%"       "1\n\n4  242\n3%"     

[[7]]$cex
[1] 0.2375

[[7]]$boxes
[[7]]$boxes$x1
 [1] 0.59011803 0.26349851 0.02867401 0.49832300 0.28484619 0.16529917 0.40439320 0.30192433 0.50686207 0.43854949 0.57517465 0.71179981 0.91673755 0.84842497 0.98505013

[[7]]$boxes$y1
 [1] 0.97542070 0.83193129 0.02839057 0.68844187 0.54495246 0.02839057 0.40146305 0.02839057 0.25797363 0.02839057 0.02839057 0.02839057 0.83193129 0.02839057 0.02839057

[[7]]$boxes$x2
 [1] 0.59843303 0.27181351 0.03698902 0.50663800 0.29316119 0.17361418 0.41270821 0.31023934 0.51517708 0.44686450 0.58348966 0.72011482 0.92505255 0.85673998 0.99336513

[[7]]$boxes$y2
 [1] 0.99893168 0.85544227 0.05190155 0.71195285 0.56846344 0.05190155 0.42497402 0.05190155 0.28148461 0.05190155 0.05190155 0.05190155 0.85544227 0.05190155 0.05190155


[[7]]$split.labs
[1] ""

[[7]]$split.cex
 [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

[[7]]$split.box
[[7]]$split.box$x1
 [1]  0.236890498 -0.001497568           NA  0.260019965  0.145224381           NA  0.294322045           NA  0.429165418           NA           NA           NA  0.818253389           NA           NA

[[7]]$split.box$y1
 [1] 0.9120116 0.7685222        NA 0.6250328 0.4815434        NA 0.3380539        NA 0.1945645        NA        NA        NA 0.7685222        NA        NA

[[7]]$split.box$x2
 [1] 0.2984215 0.0671606        NA 0.3179874 0.1936890        NA 0.3178416        NA 0.4562486        NA        NA        NA 0.8869116        NA        NA

[[7]]$split.box$y2
 [1] 0.9355226 0.7920332        NA 0.6485437 0.5050543        NA 0.3615649        NA 0.2180755        NA        NA        NA 0.7920332        NA        NA



[[8]]
[[8]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

 1) root 7418 34 0 (0.995416554 0.004583446)  
   2) mass_measurement_type_na=NA 4320  6 0 (0.998611111 0.001388889) *
   3) mass_measurement_type_na=!NA 3098 28 0 (0.990961911 0.009038089)  
     6) is_kepler< 0.5 2916  9 0 (0.996913580 0.003086420) *
     7) is_kepler>=0.5 182 19 0 (0.895604396 0.104395604)  
      14) tconj_na=!NA 111  0 0 (1.000000000 0.000000000) *
      15) tconj_na=NA 71 19 0 (0.732394366 0.267605634)  
        30) updated>=2021.458 48  7 0 (0.854166667 0.145833333) *
        31) updated< 2021.458 23 11 1 (0.478260870 0.521739130)  
          62) mag_v_na=!NA 14  4 0 (0.714285714 0.285714286) *
          63) mag_v_na=NA 9  1 1 (0.111111111 0.888888889) *

[[8]]$snipped.nodes
NULL

[[8]]$xlim
[1] 0 1

[[8]]$ylim
[1] 0 1

[[8]]$x
 [1] 0.24266676 0.06324925 0.42208427 0.24845442 0.59571413 0.43365960 0.75776866 0.61886477 0.89667254 0.80406995 0.98927513

[[8]]$y
 [1] 0.95749510 0.02608106 0.78814709 0.02608106 0.61879909 0.02608106 0.44945108 0.02608106 0.28010307 0.02608106 0.02608106

[[8]]$branch.x
       [,1]       [,2]      [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]     [,10]     [,11]
x 0.2426668 0.06324925 0.4220843 0.2484544 0.5957141 0.4336596 0.7577687 0.6188648 0.8966725 0.8040700 0.9892751
         NA 0.06324925 0.4220843 0.2484544 0.5957141 0.4336596 0.7577687 0.6188648 0.8966725 0.8040700 0.9892751
         NA 0.24266676 0.2426668 0.4220843 0.4220843 0.5957141 0.5957141 0.7577687 0.7577687 0.8966725 0.8966725

[[8]]$branch.y
       [,1]       [,2]      [,3]       [,4]      [,5]       [,6]      [,7]       [,8]      [,9]      [,10]      [,11]
y 0.9996033 0.06818922 0.8302553 0.06818922 0.6609072 0.06818922 0.4915592 0.06818922 0.3222112 0.06818922 0.06818922
         NA 0.98549667 0.9854967 0.81614867 0.8161487 0.64680066 0.6468007 0.47745265 0.4774527 0.30810464 0.30810464
         NA 0.98549667 0.9854967 0.81614867 0.8161487 0.64680066 0.6468007 0.47745265 0.4774527 0.30810464 0.30810464

[[8]]$labs
 [1] "0\n\n7384  34\n100%" "0\n\n4314  6\n58%"   "0\n\n3070  28\n42%"  "0\n\n2907  9\n39%"   "0\n\n163  19\n2%"    "0\n\n111  0\n1%"     "0\n\n52  19\n1%"     "0\n\n41  7\n1%"      "1\n\n11  12\n0%"     "0\n\n10  4\n0%"      "1\n\n1  8\n0%"      

[[8]]$cex
[1] 0.3375

[[8]]$boxes
[[8]]$boxes$x1
 [1] 0.23672747 0.05730996 0.41614499 0.24251513 0.58977484 0.42772031 0.75182937 0.61292549 0.89073325 0.79813066 0.98333584

[[8]]$boxes$y1
 [1] 0.97139009 0.03997605 0.80204208 0.03997605 0.63269407 0.03997605 0.46334607 0.03997605 0.29399806 0.03997605 0.03997605

[[8]]$boxes$x2
 [1] 0.24860605 0.06918853 0.42802356 0.25439371 0.60165342 0.43959889 0.76370795 0.62480406 0.90261183 0.81000924 0.99521442

[[8]]$boxes$y2
 [1] 0.99960326 0.06818922 0.83025525 0.06818922 0.66090725 0.06818922 0.49155924 0.06818922 0.32221123 0.06818922 0.06818922


[[8]]$split.labs
[1] ""

[[8]]$split.cex
 [1] 1 1 1 1 1 1 1 1 1 1 1

[[8]]$split.box
[[8]]$split.box$x1
 [1] -0.005052566           NA  0.222321555           NA  0.404557087           NA  0.586198691           NA  0.771403868           NA           NA

[[8]]$split.box$y1
 [1] 0.8920405        NA 0.7226925        NA 0.5533445        NA 0.3839965        NA 0.2146485        NA        NA

[[8]]$split.box$x2
 [1] 0.1315511        NA 0.2745873        NA 0.4627621        NA 0.6515309        NA 0.8367360        NA        NA

[[8]]$split.box$y2
 [1] 0.9202537        NA 0.7509057        NA 0.5815577        NA 0.4122097        NA 0.2428617        NA        NA



[[9]]
[[9]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

 1) root 7418 178 0 (0.976004314 0.023995686)  
   2) star_distance< 2199.205 7073 111 0 (0.984306518 0.015693482)  
     4) star_metallicity_na=!NA 5214  12 0 (0.997698504 0.002301496) *
     5) star_metallicity_na=NA 1859  99 0 (0.946745562 0.053254438)  
      10) mass_sini_na=NA 1593  33 0 (0.979284369 0.020715631)  
        20) tperi_na=NA 1569  25 0 (0.984066284 0.015933716) *
        21) tperi_na=!NA 24   8 0 (0.666666667 0.333333333)  
          42) star_distance< 123.45 14   0 0 (1.000000000 0.000000000) *
          43) star_distance>=123.45 10   2 1 (0.200000000 0.800000000) *
      11) mass_sini_na=!NA 266  66 0 (0.751879699 0.248120301)  
        22) star_distance< 207.1075 191   6 0 (0.968586387 0.031413613) *
        23) star_distance>=207.1075 75  15 1 (0.200000000 0.800000000)  
          46) diff_disc_updated< 0.4678569 8   2 0 (0.750000000 0.250000000) *
          47) diff_disc_updated>=0.4678569 67   9 1 (0.134328358 0.865671642) *
   3) star_distance>=2199.205 345  67 0 (0.805797101 0.194202899)  
     6) orbital_period_na=NA 249   0 0 (1.000000000 0.000000000) *
     7) orbital_period_na=!NA 96  29 1 (0.302083333 0.697916667)  
      14) star_metallicity_na=!NA 18   2 0 (0.888888889 0.111111111) *
      15) star_metallicity_na=NA 78  13 1 (0.166666667 0.833333333)  
        30) angular_distance_na=!NA 7   1 0 (0.857142857 0.142857143) *
        31) angular_distance_na=NA 71   7 1 (0.098591549 0.901408451) *

[[9]]$snipped.nodes
NULL

[[9]]$xlim
[1] 0 1

[[9]]$ylim
[1] 0 1

[[9]]$x
 [1] 0.49282218 0.19874867 0.04583045 0.35166689 0.21051161 0.13993397 0.28108925 0.23403749 0.32814101 0.49282218 0.42224453 0.56339982 0.51634806 0.61045158 0.78689568 0.70455510 0.86923626 0.79865862 0.93981390 0.89276214 0.98686566

[[9]]$y
 [1] 0.95749510 0.78814709 0.02608106 0.61879909 0.44945108 0.02608106 0.28010307 0.02608106 0.02608106 0.44945108 0.02608106 0.28010307 0.02608106 0.02608106 0.78814709 0.02608106 0.61879909 0.02608106 0.44945108 0.02608106 0.02608106

[[9]]$branch.x
       [,1]      [,2]       [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]     [,10]     [,11]     [,12]     [,13]     [,14]     [,15]     [,16]     [,17]     [,18]     [,19]     [,20]     [,21]
x 0.4928222 0.1987487 0.04583045 0.3516669 0.2105116 0.1399340 0.2810893 0.2340375 0.3281410 0.4928222 0.4222445 0.5633998 0.5163481 0.6104516 0.7868957 0.7045551 0.8692363 0.7986586 0.9398139 0.8927621 0.9868657
         NA 0.1987487 0.04583045 0.3516669 0.2105116 0.1399340 0.2810893 0.2340375 0.3281410 0.4928222 0.4222445 0.5633998 0.5163481 0.6104516 0.7868957 0.7045551 0.8692363 0.7986586 0.9398139 0.8927621 0.9868657
         NA 0.4928222 0.19874867 0.1987487 0.3516669 0.2105116 0.2105116 0.2810893 0.2810893 0.3516669 0.4928222 0.4928222 0.5633998 0.5633998 0.4928222 0.7868957 0.7868957 0.8692363 0.8692363 0.9398139 0.9398139

[[9]]$branch.y
       [,1]      [,2]       [,3]      [,4]      [,5]       [,6]      [,7]       [,8]       [,9]     [,10]      [,11]     [,12]      [,13]      [,14]     [,15]      [,16]     [,17]      [,18]     [,19]      [,20]      [,21]
y 0.9996033 0.8302553 0.06818922 0.6609072 0.4915592 0.06818922 0.3222112 0.06818922 0.06818922 0.4915592 0.06818922 0.3222112 0.06818922 0.06818922 0.8302553 0.06818922 0.6609072 0.06818922 0.4915592 0.06818922 0.06818922
         NA 0.9854967 0.81614867 0.8161487 0.6468007 0.47745265 0.4774527 0.30810464 0.30810464 0.6468007 0.47745265 0.4774527 0.30810464 0.30810464 0.9854967 0.81614867 0.8161487 0.64680066 0.6468007 0.47745265 0.47745265
         NA 0.9854967 0.81614867 0.8161487 0.6468007 0.47745265 0.4774527 0.30810464 0.30810464 0.6468007 0.47745265 0.4774527 0.30810464 0.30810464 0.9854967 0.81614867 0.8161487 0.64680066 0.6468007 0.47745265 0.47745265

[[9]]$labs
 [1] "0\n\n7240  178\n100%" "0\n\n6962  111\n95%"  "0\n\n5202  12\n70%"   "0\n\n1760  99\n25%"   "0\n\n1560  33\n21%"   "0\n\n1544  25\n21%"   "0\n\n16  8\n0%"       "0\n\n14  0\n0%"       "1\n\n2  8\n0%"        "0\n\n200  66\n4%"     "0\n\n185  6\n3%"     
[12] "1\n\n15  60\n1%"      "0\n\n6  2\n0%"        "1\n\n9  58\n1%"       "0\n\n278  67\n5%"     "0\n\n249  0\n3%"      "1\n\n29  67\n1%"      "0\n\n16  2\n0%"       "1\n\n13  65\n1%"      "0\n\n6  1\n0%"        "1\n\n7  64\n1%"      

[[9]]$cex
[1] 0.3375

[[9]]$boxes
[[9]]$boxes$x1
 [1] 0.48688289 0.19280938 0.03989116 0.34572761 0.20457232 0.13399468 0.27514996 0.22809820 0.32220173 0.48688289 0.41630525 0.55746053 0.51040877 0.60451229 0.78095639 0.69861581 0.86329697 0.79271933 0.93387462 0.88682285 0.98092638

[[9]]$boxes$y1
 [1] 0.97139009 0.80204208 0.03997605 0.63269407 0.46334607 0.03997605 0.29399806 0.03997605 0.03997605 0.46334607 0.03997605 0.29399806 0.03997605 0.03997605 0.80204208 0.03997605 0.63269407 0.03997605 0.46334607 0.03997605 0.03997605

[[9]]$boxes$x2
 [1] 0.49876146 0.20468796 0.05176974 0.35760618 0.21645090 0.14587326 0.28702854 0.23997678 0.33408030 0.49876146 0.42818382 0.56933911 0.52228734 0.61639087 0.79283497 0.71049439 0.87517555 0.80459791 0.94575319 0.89870143 0.99280495

[[9]]$boxes$y2
 [1] 0.99960326 0.83025525 0.06818922 0.66090725 0.49155924 0.06818922 0.32221123 0.06818922 0.06818922 0.49155924 0.06818922 0.32221123 0.06818922 0.06818922 0.83025525 0.06818922 0.66090725 0.06818922 0.49155924 0.06818922 0.06818922


[[9]]$split.labs
[1] ""

[[9]]$split.cex
 [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

[[9]]$split.box
[[9]]$split.box$x1
 [1]  0.157173656 -0.002871712           NA  0.171906240  0.112613246           NA  0.194838191           NA           NA  0.383045234           NA  0.468239824           NA           NA  0.658822582           NA  0.749956460           NA  0.839902480           NA
[21]           NA

[[9]]$split.box$y1
 [1] 0.8920405 0.7226925        NA 0.5533445 0.3839965        NA 0.2146485        NA        NA 0.3839965        NA 0.2146485        NA        NA 0.7226925        NA 0.5533445        NA 0.3839965        NA        NA

[[9]]$split.box$x2
 [1] 0.24032369 0.09453261         NA 0.24911698 0.16725469         NA 0.27323679         NA         NA 0.46144384         NA 0.56445629         NA         NA 0.75028762         NA 0.84736078         NA 0.94562181         NA         NA

[[9]]$split.box$y2
 [1] 0.9202537 0.7509057        NA 0.5815577 0.4122097        NA 0.2428617        NA        NA 0.4122097        NA 0.2428617        NA        NA 0.7509057        NA 0.5815577        NA 0.4122097        NA        NA

# get accuracy
accuracy <- function(y_true, y_pred) {
  result <- list()
  
  for (col in names(y_true)) {
    confusion_matrix <- table(y_true[[col]], y_pred[[paste0("pred_", col)]])
    result[[col]] <- sum(diag(confusion_matrix)) / sum(confusion_matrix)
  }
  
  return(result)
}

accuracy(shadow_exoplanets_with_preds %>% select(starts_with("detection_type_")), predictions %>% select(starts_with("pred_")))
$detection_type_astrometry
[1] 0.9854408

$detection_type_imaging
[1] 0.9850364

$detection_type_radial_velocity
[1] 0.9784308

$detection_type_kinematic
[1] 0.9974387

$detection_type_other
[1] 0.9901591

$detection_type_primary_transit
[1] 0.9764087

$detection_type_microlensing
[1] 0.9968994

$detection_type_ttv
[1] 0.9963602

$detection_type_timing
[1] 0.9911027
set.seed(123)

shadow_exoplanets %>% 
  select(-name, -starts_with("detection_type"), -ends_with("_na"), -discovered, -updated, -diff_disc_updated, -is_kepler) %>% 
  as_shadow() %>% 
  bind_cols(shadow_exoplanets) %>% 
  select(-discovered, -updated, -diff_disc_updated, -is_kepler, -star_distance, -ra, -dec) %>%
  relocate(name, starts_with("detection_type")) -> shadower_exoplanets

shadower_exoplanets %>% glimpse
Rows: 7,418
Columns: 54
$ name                           <chr> "109 Psc b", "112 Psc b", "112 Psc c", "11 Com Ab", "11 UMi b", "14 And Ab", "14 Her b", "14 Her c", "16 Cyg Bb", "18 Del Ab", "1RXS 1609 b", "1RXS J103137.1-690205  b", "1RXS J125608.8-692652 (AB)b", "1RXS J131752.0-505845 b",…
$ detection_type_astrometry      <fct> 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ detection_type_imaging         <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1,…
$ detection_type_radial_velocity <fct> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,…
$ detection_type_kinematic       <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ detection_type_other           <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ detection_type_primary_transit <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ detection_type_microlensing    <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ detection_type_ttv             <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ detection_type_timing          <fct> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
$ star_distance_NA               <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !N…
$ ra_NA                          <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA…
$ dec_NA                         <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA…
$ mass_na                        <fct> !NA, NA, !NA, NA, NA, NA, !NA, !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !…
$ mass_sini_na                   <fct> !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ radius_na                      <fct> !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, !NA, !NA, NA, !NA, !NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, NA, NA, NA, !NA, NA, !NA, NA, NA, NA, NA, NA, …
$ orbital_period_na              <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ semi_major_axis_na             <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, NA, NA, !NA, !NA, !NA, NA, NA, !NA, NA, !NA, NA, NA, NA, NA, NA, !NA, NA, NA, !NA, NA, !NA, NA, !NA, NA, NA,…
$ eccentricity_na                <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, !NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ inclination_na                 <fct> !NA, NA, !NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ angular_distance_na            <fct> !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, !NA, !NA, NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ omega_na                       <fct> !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ tperi_na                       <fct> !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
$ tconj_na                       <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_tr_na                    <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_tr_sec_na                <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ lambda_angle_na                <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ impact_parameter_na            <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ tzero_vr_na                    <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ k_na                           <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ temp_calculated_na             <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, !NA, NA, NA, !NA, !NA, !NA, NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, NA, NA, NA, !NA, NA, !NA, NA, NA, NA, NA, NA, !N…
$ temp_measured_na               <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ geometric_albedo_na            <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ log_g_na                       <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA…
$ mass_measurement_type_na       <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, NA, !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, !NA, NA, NA, !NA, !NA, NA, !NA, NA, NA, !NA, !NA, NA, NA, NA, !NA, !NA, !NA, !…
$ radius_measurement_type_na     <fct> !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA,…
$ alternate_names_na             <fct> !NA, !NA, !NA, NA, NA, NA, NA, !NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, NA, NA, NA, !NA, !NA, !NA, NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !N…
$ molecules_na                   <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ star_name_na                   <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, !NA, NA, NA, NA, …
$ ra_na                          <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA…
$ dec_na                         <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA…
$ mag_v_na                       <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ mag_i_na                       <fct> NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, !NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ mag_j_na                       <fct> NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, !NA, NA, NA, NA, NA, !NA, !NA, NA…
$ mag_h_na                       <fct> NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA,…
$ mag_k_na                       <fct> NA, !NA, !NA, NA, NA, !NA, NA, NA, NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, …
$ star_metallicity_na            <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ star_mass_na                   <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, !NA, NA, NA, NA, NA…
$ star_radius_na                 <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ star_sp_type_na                <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, !NA, NA, NA, NA, NA…
$ star_age_na                    <fct> !NA, NA, NA, NA, !NA, NA, !NA, !NA, !NA, NA, !NA, NA, !NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, !NA, N…
$ star_teff_na                   <fct> !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, !NA, !NA, !NA, !NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ star_detected_disc_na          <fct> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
$ star_alternate_names_na        <fct> !NA, !NA, !NA, !NA, NA, NA, NA, NA, !NA, !NA, !NA, !NA, !NA, NA, !NA, NA, !NA, !NA, NA, NA, NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, !NA, !NA, NA, NA, NA, NA, NA, NA, NA, NA, !NA, NA, NA, NA, !NA, NA, NA, NA, NA, !NA, …
# Do the same thing with shadower_exoplanets


# Define target and predictor columns
target_cols <- names(shadower_exoplanets) %>% 
  keep(~ startsWith(.x, "detection_type_"))

predictor_cols <- names(shadower_exoplanets) %>%
  setdiff(c("name", target_cols))

# Train decision trees for each target label
models <- target_cols %>%
  set_names() %>%
  map(~ rpart(as.formula(paste(.x, "~", paste(predictor_cols, collapse = " + "))),
              data = shadower_exoplanets, method = "class"))

# Make predictions and add them to the original dataset
shadower_exoplanets_with_preds <- shadower_exoplanets %>%
  bind_cols(models %>%
    map_dfc(~ predict(.x, shadower_exoplanets, type = "class")) %>%
    rename_with(~ paste0("pred_", target_cols))  # Prefix predictions for clarity
  )

predictions <- shadower_exoplanets_with_preds %>%
  mutate(
    actual_combined = apply(select(., all_of(target_cols)), 1, paste, collapse = "_"),
    predicted_combined = apply(select(., starts_with("pred_")), 1, paste, collapse = "_")
  ) %>% select(actual_combined, predicted_combined, starts_with("pred_"), starts_with("detection_type_"))
predictions
# accuracy
accuracy(shadower_exoplanets_with_preds %>% select(starts_with("detection_type_")), predictions %>% select(starts_with("pred_")))
$detection_type_astrometry
[1] 0.9791049

$detection_type_imaging
[1] 0.9766783

$detection_type_radial_velocity
[1] 0.9800485

$detection_type_kinematic
[1] 0.9974387

$detection_type_other
[1] 0.9863845

$detection_type_primary_transit
[1] 0.9723645

$detection_type_microlensing
[1] 0.9912375

$detection_type_ttv
[1] 0.995821

$detection_type_timing
[1] 0.9889458
# plot
target_cols %>%
  map2(models, ~ {
    rpart.plot(.y, 
               type = 4, 
               extra = 101, 
               under = TRUE, 
               fallen.leaves = TRUE,
               main = paste("Decision Tree for", .x))  # Title with the target label
  }) -> plots

plots
[[1]]
[[1]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

  1) root 7418 202 0 (0.972768940 0.027231060)  
    2) radius_na=!NA 4974  21 0 (0.995778046 0.004221954) *
    3) radius_na=NA 2444 181 0 (0.925941080 0.074058920)  
      6) inclination_na=NA 2146  52 0 (0.975768872 0.024231128) *
      7) inclination_na=!NA 298 129 0 (0.567114094 0.432885906)  
       14) mag_k_na=NA 198  62 0 (0.686868687 0.313131313) *
       15) mag_k_na=!NA 100  33 1 (0.330000000 0.670000000)  
         30) mass_measurement_type_na=NA 7   0 0 (1.000000000 0.000000000) *
         31) mass_measurement_type_na=!NA 93  26 1 (0.279569892 0.720430108)  
           62) alternate_names_na=!NA 29  14 1 (0.482758621 0.517241379)  
            124) mass_sini_na=!NA 10   2 0 (0.800000000 0.200000000) *
            125) mass_sini_na=NA 19   6 1 (0.315789474 0.684210526) *
           63) alternate_names_na=NA 64  12 1 (0.187500000 0.812500000) *

[[1]]$snipped.nodes
NULL

[[1]]$xlim
[1] 0 1

[[1]]$ylim
[1] 0 1

[[1]]$x
 [1] 0.18798605 0.02519211 0.35077999 0.18548153 0.51607846 0.34577095 0.68638596 0.50606037 0.86671156 0.74649449 0.66634978 0.82663920 0.98692862

[[1]]$y
 [1] 0.96489496 0.02130589 0.82192692 0.02130589 0.67895888 0.02130589 0.53599084 0.02130589 0.39302280 0.25005475 0.02130589 0.02130589 0.02130589

[[1]]$branch.x
       [,1]       [,2]      [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]     [,10]     [,11]     [,12]     [,13]
x 0.1879861 0.02519211 0.3507800 0.1854815 0.5160785 0.3457709 0.6863860 0.5060604 0.8667116 0.7464945 0.6663498 0.8266392 0.9869286
         NA 0.02519211 0.3507800 0.1854815 0.5160785 0.3457709 0.6863860 0.5060604 0.8667116 0.7464945 0.6663498 0.8266392 0.9869286
         NA 0.18798605 0.1879861 0.3507800 0.3507800 0.5160785 0.5160785 0.6863860 0.6863860 0.8667116 0.7464945 0.7464945 0.8667116

[[1]]$branch.y
       [,1]      [,2]      [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]     [,10]     [,11]     [,12]     [,13]
y 0.9991739 0.0555848 0.8562058 0.0555848 0.7132378 0.0555848 0.5702697 0.0555848 0.4273017 0.2843337 0.0555848 0.0555848 0.0555848
         NA 0.9874746 0.9874746 0.8445065 0.8445065 0.7015385 0.7015385 0.5585705 0.5585705 0.4156024 0.2726344 0.2726344 0.4156024
         NA 0.9874746 0.9874746 0.8445065 0.8445065 0.7015385 0.7015385 0.5585705 0.5585705 0.4156024 0.2726344 0.2726344 0.4156024

[[1]]$labs
 [1] "0\n\n7216  202\n100%" "0\n\n4953  21\n67%"   "0\n\n2263  181\n33%"  "0\n\n2094  52\n29%"   "0\n\n169  129\n4%"    "0\n\n136  62\n3%"    
 [7] "1\n\n33  67\n1%"      "0\n\n7  0\n0%"        "1\n\n26  67\n1%"      "1\n\n14  15\n0%"      "0\n\n8  2\n0%"        "1\n\n6  13\n0%"      
[13] "1\n\n12  52\n1%"     

[[1]]$cex
[1] 0.275

[[1]]$boxes
[[1]]$boxes$x1
 [1] 0.18304371 0.02024977 0.34583765 0.18053919 0.51113612 0.34082861 0.68144362 0.50111803 0.86176922 0.74155215 0.66140744 0.82169686 0.98198628

[[1]]$boxes$y1
 [1] 0.97577530 0.03218622 0.83280726 0.03218622 0.68983922 0.03218622 0.54687117 0.03218622 0.40390313 0.26093509 0.03218622 0.03218622 0.03218622

[[1]]$boxes$x2
 [1] 0.19292839 0.03013445 0.35572233 0.19042387 0.52102079 0.35071329 0.69132830 0.51100271 0.87165390 0.75143683 0.67129212 0.83158154 0.99187096

[[1]]$boxes$y2
 [1] 0.9991739 0.0555848 0.8562058 0.0555848 0.7132378 0.0555848 0.5702697 0.0555848 0.4273017 0.2843337 0.0555848 0.0555848 0.0555848


[[1]]$split.labs
[1] ""

[[1]]$split.cex
 [1] 1 1 1 1 1 1 1 1 1 1 1 1 1

[[1]]$split.box
[[1]]$split.box$x1
 [1] -0.001002289           NA  0.153356321           NA  0.319576547           NA  0.449223459           NA  0.703496137  0.633730342           NA           NA
[13]           NA

[[1]]$split.box$y1
 [1] 0.9106103        NA 0.7676422        NA 0.6246742        NA 0.4817061        NA 0.3387381 0.1957701        NA        NA        NA

[[1]]$split.box$x2
 [1] 0.05138651         NA 0.21760674         NA 0.37196535         NA 0.56289727         NA 0.78949285 0.69896923         NA         NA         NA

[[1]]$split.box$y2
 [1] 0.9340088        NA 0.7910408        NA 0.6480728        NA 0.5051047        NA 0.3621367 0.2191686        NA        NA        NA



[[2]]
[[2]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

 1) root 7418 1030 0 (0.861148558 0.138851442)  
   2) star_name_na=!NA 6638  302 0 (0.954504369 0.045495631)  
     4) orbital_period_na=!NA 6083   55 0 (0.990958409 0.009041591) *
     5) orbital_period_na=NA 555  247 0 (0.554954955 0.445045045)  
      10) star_sp_type_na=NA 262   10 0 (0.961832061 0.038167939) *
      11) star_sp_type_na=!NA 293   56 1 (0.191126280 0.808873720) *
   3) star_name_na=NA 780   52 1 (0.066666667 0.933333333) *

[[2]]$snipped.nodes
NULL

[[2]]$xlim
[1] 0 1

[[2]]$ylim
[1] 0 1

[[2]]$x
[1] 0.63576771 0.29894719 0.07440017 0.52349421 0.37379619 0.67319222 0.97258824

[[2]]$y
[1] 0.93177936 0.66221049 0.04220209 0.39264162 0.04220209 0.04220209 0.04220209

[[2]]$branch.x
       [,1]      [,2]       [,3]      [,4]      [,5]      [,6]      [,7]
x 0.6357677 0.2989472 0.07440017 0.5234942 0.3737962 0.6731922 0.9725882
         NA 0.2989472 0.07440017 0.5234942 0.3737962 0.6731922 0.9725882
         NA 0.6357677 0.29894719 0.2989472 0.5234942 0.5234942 0.6357677

[[2]]$branch.y
      [,1]      [,2]      [,3]      [,4]      [,5]      [,6]      [,7]
y 1.002619 0.7330497 0.1130413 0.4634808 0.1130413 0.1130413 0.1130413
        NA 0.9792200 0.7096511 0.7096511 0.4400822 0.4400822 0.9792200
        NA 0.9792200 0.7096511 0.7096511 0.4400822 0.4400822 0.9792200

[[2]]$labs
[1] "0\n\n6388  1030\n100%" "0\n\n6336  302\n89%"   "0\n\n6028  55\n82%"    "0\n\n308  247\n7%"     "0\n\n252  10\n4%"      "1\n\n56  237\n4%"     
[7] "1\n\n52  728\n11%"    

[[2]]$cex
[1] 0.5875

[[2]]$boxes
[[2]]$boxes$x1
[1] 0.62637727 0.28955674 0.06500972 0.51410376 0.36440575 0.66380177 0.96319780

[[2]]$boxes$y1
[1] 0.95582140 0.68625253 0.06624412 0.41668366 0.06624412 0.06624412 0.06624412

[[2]]$boxes$x2
[1] 0.64515816 0.30833763 0.08379061 0.53288465 0.38318664 0.68258266 0.98197869

[[2]]$boxes$y2
[1] 1.0026185 0.7330497 0.1130413 0.4634808 0.1130413 0.1130413 0.1130413


[[2]]$split.labs
[1] ""

[[2]]$split.cex
[1] 1 1 1 1 1 1 1

[[2]]$split.box
[[2]]$split.box$x1
[1]  0.22896365 -0.00843345          NA  0.29738762          NA          NA          NA

[[2]]$split.box$y1
[1] 0.8232100 0.5536411        NA 0.2840722        NA        NA        NA

[[2]]$split.box$x2
[1] 0.3689307 0.1572338        NA 0.4502048        NA        NA        NA

[[2]]$split.box$y2
[1] 0.8700071 0.6004383        NA 0.3308694        NA        NA        NA



[[3]]
[[3]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

 1) root 7418 1266 0 (0.829334052 0.170665948)  
   2) mass_sini_na=NA 6011  138 0 (0.977042090 0.022957910)  
     4) omega_na=NA 5264   27 0 (0.994870821 0.005129179) *
     5) omega_na=!NA 747  111 0 (0.851405622 0.148594378)  
      10) radius_na=!NA 598   16 0 (0.973244147 0.026755853) *
      11) radius_na=NA 149   54 1 (0.362416107 0.637583893)  
        22) k_na=NA 59   13 0 (0.779661017 0.220338983) *
        23) k_na=!NA 90    8 1 (0.088888889 0.911111111) *
   3) mass_sini_na=!NA 1407  279 1 (0.198294243 0.801705757)  
     6) impact_parameter_na=!NA 115    6 0 (0.947826087 0.052173913) *
     7) impact_parameter_na=NA 1292  170 1 (0.131578947 0.868421053)  
      14) eccentricity_na=NA 132   47 0 (0.643939394 0.356060606)  
        28) k_na=NA 89   12 0 (0.865168539 0.134831461) *
        29) k_na=!NA 43    8 1 (0.186046512 0.813953488) *
      15) eccentricity_na=!NA 1160   85 1 (0.073275862 0.926724138)  
        30) mag_v_na=NA 117   38 1 (0.324786325 0.675213675)  
          60) k_na=NA 45    9 0 (0.800000000 0.200000000) *
          61) k_na=!NA 72    2 1 (0.027777778 0.972222222) *
        31) mag_v_na=!NA 1043   47 1 (0.045062320 0.954937680) *

[[3]]$snipped.nodes
NULL

[[3]]$xlim
[1] 0 1

[[3]]$ylim
[1] 0 1

[[3]]$x
 [1] 0.36678974 0.12818233 0.03666168 0.21970298 0.14125671 0.29814926 0.24585174 0.35044677 0.60539716 0.45504180 0.75575251 0.61193434 0.55963683 0.66423186
[15] 0.89957068 0.82112440 0.76882689 0.87342192 0.97801695

[[3]]$y
 [1] 0.95299368 0.78499289 0.02898933 0.61699210 0.02898933 0.44899131 0.02898933 0.02898933 0.78499289 0.02898933 0.61699210 0.44899131 0.02898933 0.02898933
[15] 0.44899131 0.28099052 0.02898933 0.02898933 0.02898933

[[3]]$branch.x
       [,1]      [,2]       [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]     [,10]     [,11]     [,12]     [,13]     [,14]     [,15]
x 0.3667897 0.1281823 0.03666168 0.2197030 0.1412567 0.2981493 0.2458517 0.3504468 0.6053972 0.4550418 0.7557525 0.6119343 0.5596368 0.6642319 0.8995707
         NA 0.1281823 0.03666168 0.2197030 0.1412567 0.2981493 0.2458517 0.3504468 0.6053972 0.4550418 0.7557525 0.6119343 0.5596368 0.6642319 0.8995707
         NA 0.3667897 0.12818233 0.1281823 0.2197030 0.2197030 0.2981493 0.2981493 0.3667897 0.6053972 0.6053972 0.7557525 0.6119343 0.6119343 0.7557525
      [,16]     [,17]     [,18]     [,19]
x 0.8211244 0.7688269 0.8734219 0.9780169
  0.8211244 0.7688269 0.8734219 0.9780169
  0.8995707 0.8211244 0.8211244 0.8995707

[[3]]$branch.y
       [,1]      [,2]       [,3]      [,4]       [,5]      [,6]       [,7]       [,8]      [,9]      [,10]     [,11]     [,12]      [,13]      [,14]     [,15]
y 0.9999663 0.8319655 0.07596197 0.6639647 0.07596197 0.4959639 0.07596197 0.07596197 0.8319655 0.07596197 0.6639647 0.4959639 0.07596197 0.07596197 0.4959639
         NA 0.9843673 0.81636648 0.8163665 0.64836569 0.6483657 0.48036490 0.48036490 0.9843673 0.81636648 0.8163665 0.6483657 0.48036490 0.48036490 0.6483657
         NA 0.9843673 0.81636648 0.8163665 0.64836569 0.6483657 0.48036490 0.48036490 0.9843673 0.81636648 0.8163665 0.6483657 0.48036490 0.48036490 0.6483657
      [,16]      [,17]      [,18]      [,19]
y 0.3279632 0.07596197 0.07596197 0.07596197
  0.4803649 0.31236411 0.31236411 0.48036490
  0.4803649 0.31236411 0.31236411 0.48036490

[[3]]$labs
 [1] "0\n\n6152  1266\n100%" "0\n\n5873  138\n81%"   "0\n\n5237  27\n71%"    "0\n\n636  111\n10%"    "0\n\n582  16\n8%"      "1\n\n54  95\n2%"      
 [7] "0\n\n46  13\n1%"       "1\n\n8  82\n1%"        "1\n\n279  1128\n19%"   "0\n\n109  6\n2%"       "1\n\n170  1122\n17%"   "0\n\n85  47\n2%"      
[13] "0\n\n77  12\n1%"       "1\n\n8  35\n1%"        "1\n\n85  1075\n16%"    "1\n\n38  79\n2%"       "0\n\n36  9\n1%"        "1\n\n2  70\n1%"       
[19] "1\n\n47  996\n14%"    

[[3]]$cex
[1] 0.3875

[[3]]$boxes
[[3]]$boxes$x1
 [1] 0.35937623 0.12076882 0.02924817 0.21228947 0.13384320 0.29073575 0.23843823 0.34303326 0.59798365 0.44762829 0.74833900 0.60452083 0.55222332 0.65681835
[15] 0.89215717 0.81371089 0.76141338 0.86600841 0.97060344

[[3]]$boxes$y1
 [1] 0.96876822 0.80076743 0.04476387 0.63276664 0.04476387 0.46476585 0.04476387 0.04476387 0.80076743 0.04476387 0.63276664 0.46476585 0.04476387 0.04476387
[15] 0.46476585 0.29676506 0.04476387 0.04476387 0.04476387

[[3]]$boxes$x2
 [1] 0.37420325 0.13559584 0.04407519 0.22711649 0.14867022 0.30556277 0.25326525 0.35786028 0.61281067 0.46245531 0.76316602 0.61934785 0.56705034 0.67164537
[15] 0.90698419 0.82853791 0.77624040 0.88083543 0.98543046

[[3]]$boxes$y2
 [1] 0.99996632 0.83196553 0.07596197 0.66396474 0.07596197 0.49596395 0.07596197 0.07596197 0.83196553 0.07596197 0.66396474 0.49596395 0.07596197 0.07596197
[15] 0.49596395 0.32796316 0.07596197 0.07596197 0.07596197


[[3]]$split.labs
[1] ""

[[3]]$split.cex
 [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

[[3]]$split.box
[[3]]$split.box$x1
 [1]  0.080340483 -0.002283957           NA  0.101816839           NA  0.220250420           NA           NA  0.386936357           NA  0.561127091  0.534035510
[13]           NA           NA  0.781684532  0.743225569           NA           NA           NA

[[3]]$split.box$y1
 [1] 0.8806141 0.7126133        NA 0.5446125        NA 0.3766117        NA        NA 0.7126133        NA 0.5446125 0.3766117        NA        NA 0.3766117
[16] 0.2086109        NA        NA        NA

[[3]]$split.box$x2
 [1] 0.17602418 0.07560732         NA 0.18069658         NA 0.27145306         NA         NA 0.52314724         NA 0.66274160 0.58523815         NA         NA
[15] 0.86056428 0.79442821         NA         NA         NA

[[3]]$split.box$y2
 [1] 0.9118122 0.7438114        NA 0.5758106        NA 0.4078098        NA        NA 0.7438114        NA 0.5758106 0.4078098        NA        NA 0.4078098
[16] 0.2398090        NA        NA        NA



[[4]]
[[4]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

1) root 7418 19 0 (0.997438663 0.002561337) *

[[4]]$snipped.nodes
NULL

[[4]]$xlim
[1] 0 1

[[4]]$ylim
[1] 0 1

[[4]]$x
[1] 0.5

[[4]]$y
[1] 0.5

[[4]]$branch.x
  [,1]
x  0.5
    NA
    NA

[[4]]$branch.y
  [,1]
y  0.5
    NA
    NA

[[4]]$labs
[1] "0\n\n7399  19\n100%"

[[4]]$cex
[1] 1

[[4]]$boxes
[[4]]$boxes$x1
[1] 0.4827018

[[4]]$boxes$y1
[1] 0.5413375

[[4]]$boxes$x2
[1] 0.5172982

[[4]]$boxes$y2
[1] 0.6193327


[[4]]$split.labs
[1] ""

[[4]]$split.cex
[1] 1

[[4]]$split.box
[[4]]$split.box$x1
[1] NA

[[4]]$split.box$y1
[1] NA

[[4]]$split.box$x2
[1] NA

[[4]]$split.box$y2
[1] NA



[[5]]
[[5]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

1) root 7418 101 0 (0.98638447 0.01361553) *

[[5]]$snipped.nodes
NULL

[[5]]$xlim
[1] 0 1

[[5]]$ylim
[1] 0 1

[[5]]$x
[1] 0.5

[[5]]$y
[1] 0.5

[[5]]$branch.x
  [,1]
x  0.5
    NA
    NA

[[5]]$branch.y
  [,1]
y  0.5
    NA
    NA

[[5]]$labs
[1] "0\n\n7317  101\n100%"

[[5]]$cex
[1] 1

[[5]]$boxes
[[5]]$boxes$x1
[1] 0.4827018

[[5]]$boxes$y1
[1] 0.5413375

[[5]]$boxes$x2
[1] 0.5172982

[[5]]$boxes$y2
[1] 0.6193327


[[5]]$split.labs
[1] ""

[[5]]$split.cex
[1] 1

[[5]]$split.box
[[5]]$split.box$x1
[1] NA

[[5]]$split.box$y1
[1] NA

[[5]]$split.box$x2
[1] NA

[[5]]$split.box$y2
[1] NA



[[6]]
[[6]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

1) root 7418 2890 1 (0.38959288 0.61040712)  
  2) radius_na=NA 2444   43 0 (0.98240589 0.01759411) *
  3) radius_na=!NA 4974  489 1 (0.09831122 0.90168878)  
    6) orbital_period_na=NA 347   10 0 (0.97118156 0.02881844) *
    7) orbital_period_na=!NA 4627  152 1 (0.03285066 0.96714934) *

[[6]]$snipped.nodes
NULL

[[6]]$xlim
[1] 0 1

[[6]]$ylim
[1] 0 1

[[6]]$x
[1] 0.40233205 0.07686754 0.72779656 0.51082022 0.94477290

[[6]]$y
[1] 0.90163928 0.06150195 0.51975867 0.06150195 0.06150195

[[6]]$branch.x
       [,1]       [,2]      [,3]      [,4]      [,5]
x 0.4023321 0.07686754 0.7277966 0.5108202 0.9447729
         NA 0.07686754 0.7277966 0.5108202 0.9447729
         NA 0.40233205 0.4023321 0.7277966 0.7277966

[[6]]$branch.y
      [,1]      [,2]      [,3]      [,4]      [,5]
y 1.009942 0.1698044 0.6280612 0.1698044 0.1698044
        NA 0.9748439 0.9748439 0.5929633 0.5929633
        NA 0.9748439 0.9748439 0.5929633 0.5929633

[[6]]$labs
[1] "1\n\n2890  4528\n100%" "0\n\n2401  43\n33%"    "1\n\n489  4485\n67%"   "0\n\n337  10\n5%"      "1\n\n152  4475\n62%"  

[[6]]$cex
[1] 0.9148437

[[6]]$boxes
[[6]]$boxes$x1
[1] 0.38651656 0.06105205 0.71198107 0.49500473 0.92895742

[[6]]$boxes$y1
[1] 0.93974605 0.09960872 0.55786544 0.09960872 0.09960872

[[6]]$boxes$x2
[1] 0.41814754 0.09268303 0.74361205 0.52663571 0.96058839

[[6]]$boxes$y2
[1] 1.0099418 0.1698044 0.6280612 0.1698044 0.1698044


[[6]]$split.labs
[1] ""

[[6]]$split.cex
[1] 1 1 1 1 1

[[6]]$split.box
[[6]]$split.box$x1
[1] -0.01169919          NA  0.37826667          NA          NA

[[6]]$split.box$y1
[1] 0.7387852        NA 0.3569046        NA        NA

[[6]]$split.box$x2
[1] 0.1654343        NA 0.6433738        NA        NA

[[6]]$split.box$y2
[1] 0.8089809        NA 0.4271003        NA        NA



[[7]]
[[7]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

  1) root 7418 313 0 (0.957805338 0.042194662)  
    2) orbital_period_na=!NA 6125   8 0 (0.998693878 0.001306122) *
    3) orbital_period_na=NA 1293 305 0 (0.764114462 0.235885538)  
      6) alternate_names_na=!NA 771  38 0 (0.950713359 0.049286641)  
       12) star_name_na=NA 562   2 0 (0.996441281 0.003558719) *
       13) star_name_na=!NA 209  36 0 (0.827751196 0.172248804)  
         26) star_sp_type_na=!NA 171   4 0 (0.976608187 0.023391813) *
         27) star_sp_type_na=NA 38   6 1 (0.157894737 0.842105263) *
      7) alternate_names_na=NA 522 255 1 (0.488505747 0.511494253)  
       14) semi_major_axis_na=NA 184  31 0 (0.831521739 0.168478261)  
         28) star_distance_NA=!NA 172  23 0 (0.866279070 0.133720930)  
           56) star_mass_na=NA 161  15 0 (0.906832298 0.093167702) *
           57) star_mass_na=!NA 11   3 1 (0.272727273 0.727272727) *
         29) star_distance_NA=NA 12   4 1 (0.333333333 0.666666667) *
       15) semi_major_axis_na=!NA 338 102 1 (0.301775148 0.698224852)  
         30) star_sp_type_na=!NA 113  21 0 (0.814159292 0.185840708)  
           60) mag_v_na=!NA 70   1 0 (0.985714286 0.014285714) *
           61) mag_v_na=NA 43  20 0 (0.534883721 0.465116279)  
            122) mag_k_na=!NA 11   0 0 (1.000000000 0.000000000) *
            123) mag_k_na=NA 32  12 1 (0.375000000 0.625000000) *
         31) star_sp_type_na=NA 225  10 1 (0.044444444 0.955555556) *

[[7]]$snipped.nodes
NULL

[[7]]$xlim
[1] 0 1

[[7]]$ylim
[1] 0 1

[[7]]$x
 [1] 0.24557270 0.03657107 0.45457432 0.20258655 0.13143706 0.27373603 0.22630304 0.32116903 0.70656208 0.53461749 0.46346800 0.41603501 0.51090099 0.60576698
[15] 0.87850668 0.77178245 0.70063296 0.84293194 0.79549894 0.89036493 0.98523091

[[7]]$y
 [1] 0.96489496 0.02130589 0.82192692 0.67895888 0.02130589 0.53599084 0.02130589 0.02130589 0.67895888 0.53599084 0.39302280 0.02130589 0.02130589 0.02130589
[15] 0.53599084 0.39302280 0.02130589 0.25005475 0.02130589 0.02130589 0.02130589

[[7]]$branch.x
       [,1]       [,2]      [,3]      [,4]      [,5]      [,6]     [,7]     [,8]      [,9]     [,10]     [,11]    [,12]    [,13]     [,14]     [,15]     [,16]
x 0.2455727 0.03657107 0.4545743 0.2025865 0.1314371 0.2737360 0.226303 0.321169 0.7065621 0.5346175 0.4634680 0.416035 0.510901 0.6057670 0.8785067 0.7717824
         NA 0.03657107 0.4545743 0.2025865 0.1314371 0.2737360 0.226303 0.321169 0.7065621 0.5346175 0.4634680 0.416035 0.510901 0.6057670 0.8785067 0.7717824
         NA 0.24557270 0.2455727 0.4545743 0.2025865 0.2025865 0.273736 0.273736 0.4545743 0.7065621 0.5346175 0.463468 0.463468 0.5346175 0.7065621 0.8785067
      [,17]     [,18]     [,19]     [,20]     [,21]
x 0.7006330 0.8429319 0.7954989 0.8903649 0.9852309
  0.7006330 0.8429319 0.7954989 0.8903649 0.9852309
  0.7717824 0.7717824 0.8429319 0.8429319 0.8785067

[[7]]$branch.y
       [,1]      [,2]      [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]     [,10]     [,11]     [,12]     [,13]     [,14]     [,15]     [,16]
y 0.9991739 0.0555848 0.8562058 0.7132378 0.0555848 0.5702697 0.0555848 0.0555848 0.7132378 0.5702697 0.4273017 0.0555848 0.0555848 0.0555848 0.5702697 0.4273017
         NA 0.9874746 0.9874746 0.8445065 0.7015385 0.7015385 0.5585705 0.5585705 0.8445065 0.7015385 0.5585705 0.4156024 0.4156024 0.5585705 0.7015385 0.5585705
         NA 0.9874746 0.9874746 0.8445065 0.7015385 0.7015385 0.5585705 0.5585705 0.8445065 0.7015385 0.5585705 0.4156024 0.4156024 0.5585705 0.7015385 0.5585705
      [,17]     [,18]     [,19]     [,20]     [,21]
y 0.0555848 0.2843337 0.0555848 0.0555848 0.0555848
  0.4156024 0.4156024 0.2726344 0.2726344 0.5585705
  0.4156024 0.4156024 0.2726344 0.2726344 0.5585705

[[7]]$labs
 [1] "0\n\n7105  313\n100%" "0\n\n6117  8\n83%"    "0\n\n988  305\n17%"   "0\n\n733  38\n10%"    "0\n\n560  2\n8%"      "0\n\n173  36\n3%"    
 [7] "0\n\n167  4\n2%"      "1\n\n6  32\n1%"       "1\n\n255  267\n7%"    "0\n\n153  31\n2%"     "0\n\n149  23\n2%"     "0\n\n146  15\n2%"    
[13] "1\n\n3  8\n0%"        "1\n\n4  8\n0%"        "1\n\n102  236\n5%"    "0\n\n92  21\n2%"      "0\n\n69  1\n1%"       "0\n\n23  20\n1%"     
[19] "0\n\n11  0\n0%"       "1\n\n12  20\n0%"      "1\n\n10  215\n3%"    

[[7]]$cex
[1] 0.275

[[7]]$boxes
[[7]]$boxes$x1
 [1] 0.24063036 0.03162873 0.44963198 0.19764421 0.12649472 0.26879369 0.22136070 0.31622669 0.70161975 0.52967515 0.45852566 0.41109267 0.50595865 0.60082464
[15] 0.87356434 0.76684011 0.69569062 0.83798960 0.79055660 0.88542259 0.98028857

[[7]]$boxes$y1
 [1] 0.97577530 0.03218622 0.83280726 0.68983922 0.03218622 0.54687117 0.03218622 0.03218622 0.68983922 0.54687117 0.40390313 0.03218622 0.03218622 0.03218622
[15] 0.54687117 0.40390313 0.03218622 0.26093509 0.03218622 0.03218622 0.03218622

[[7]]$boxes$x2
 [1] 0.25051503 0.04151341 0.45951666 0.20752889 0.13637940 0.27867837 0.23124538 0.32611137 0.71150442 0.53955983 0.46841034 0.42097735 0.51584333 0.61070932
[15] 0.88344902 0.77672479 0.70557530 0.84787428 0.80044128 0.89530727 0.99017325

[[7]]$boxes$y2
 [1] 0.9991739 0.0555848 0.8562058 0.7132378 0.0555848 0.5702697 0.0555848 0.0555848 0.7132378 0.5702697 0.4273017 0.0555848 0.0555848 0.0555848 0.5702697
[16] 0.4273017 0.0555848 0.2843337 0.0555848 0.0555848 0.0555848


[[7]]$split.labs
[1] ""

[[7]]$split.cex
 [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

[[7]]$split.box
[[7]]$split.box$x1
 [1] -0.001979176           NA  0.159588190  0.098817615           NA  0.189729727           NA           NA  0.490630665  0.424423517  0.383415567           NA
[13]           NA           NA  0.735209134  0.673450092           NA  0.768810310           NA           NA           NA

[[7]]$split.box$y1
 [1] 0.9106103        NA 0.7676422 0.6246742        NA 0.4817061        NA        NA 0.6246742 0.4817061 0.3387381        NA        NA        NA 0.4817061
[16] 0.3387381        NA 0.1957701        NA        NA        NA

[[7]]$split.box$x2
 [1] 0.07512133         NA 0.24558490 0.16405650         NA 0.26287636         NA         NA 0.57860431 0.50251249 0.44865445         NA         NA         NA
[15] 0.80835576 0.72781583         NA 0.82218758         NA         NA         NA

[[7]]$split.box$y2
 [1] 0.9340088        NA 0.7910408 0.6480728        NA 0.5051047        NA        NA 0.6480728 0.5051047 0.3621367        NA        NA        NA 0.5051047
[16] 0.3621367        NA 0.2191686        NA        NA        NA



[[8]]
[[8]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

 1) root 7418 34 0 (0.995416554 0.004583446)  
   2) mass_measurement_type_na=NA 4320  6 0 (0.998611111 0.001388889) *
   3) mass_measurement_type_na=!NA 3098 28 0 (0.990961911 0.009038089)  
     6) mag_h_na=NA 2403  7 0 (0.997086975 0.002913025) *
     7) mag_h_na=!NA 695 21 0 (0.969784173 0.030215827)  
      14) semi_major_axis_na=!NA 638 11 0 (0.982758621 0.017241379) *
      15) semi_major_axis_na=NA 57 10 0 (0.824561404 0.175438596)  
        30) tconj_na=!NA 31  0 0 (1.000000000 0.000000000) *
        31) tconj_na=NA 26 10 0 (0.615384615 0.384615385)  
          62) star_sp_type_na=!NA 15  3 0 (0.800000000 0.200000000) *
          63) star_sp_type_na=NA 11  4 1 (0.363636364 0.636363636) *

[[8]]$snipped.nodes
NULL

[[8]]$xlim
[1] 0 1

[[8]]$ylim
[1] 0 1

[[8]]$x
 [1] 0.2534729 0.0772349 0.4297109 0.2591580 0.6002637 0.4410811 0.7594464 0.6230041 0.8958887 0.8049272 0.9868503

[[8]]$y
 [1] 0.95299368 0.02898933 0.78499289 0.02898933 0.61699210 0.02898933 0.44899131 0.02898933 0.28099052 0.02898933 0.02898933

[[8]]$branch.x
       [,1]      [,2]      [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]     [,10]     [,11]
x 0.2534729 0.0772349 0.4297109 0.2591580 0.6002637 0.4410811 0.7594464 0.6230041 0.8958887 0.8049272 0.9868503
         NA 0.0772349 0.4297109 0.2591580 0.6002637 0.4410811 0.7594464 0.6230041 0.8958887 0.8049272 0.9868503
         NA 0.2534729 0.2534729 0.4297109 0.4297109 0.6002637 0.6002637 0.7594464 0.7594464 0.8958887 0.8958887

[[8]]$branch.y
       [,1]       [,2]      [,3]       [,4]      [,5]       [,6]      [,7]       [,8]      [,9]      [,10]      [,11]
y 0.9999663 0.07596197 0.8319655 0.07596197 0.6639647 0.07596197 0.4959639 0.07596197 0.3279632 0.07596197 0.07596197
         NA 0.98436727 0.9843673 0.81636648 0.8163665 0.64836569 0.6483657 0.48036490 0.4803649 0.31236411 0.31236411
         NA 0.98436727 0.9843673 0.81636648 0.8163665 0.64836569 0.6483657 0.48036490 0.4803649 0.31236411 0.31236411

[[8]]$labs
 [1] "0\n\n7384  34\n100%" "0\n\n4314  6\n58%"   "0\n\n3070  28\n42%"  "0\n\n2396  7\n32%"   "0\n\n674  21\n9%"    "0\n\n627  11\n9%"    "0\n\n47  10\n1%"    
 [8] "0\n\n31  0\n0%"      "0\n\n16  10\n0%"     "0\n\n12  3\n0%"      "1\n\n4  7\n0%"      

[[8]]$cex
[1] 0.3875

[[8]]$boxes
[[8]]$boxes$x1
 [1] 0.24605937 0.06982139 0.42229735 0.25174446 0.59285024 0.43366754 0.75203293 0.61559062 0.88847524 0.79751370 0.97943678

[[8]]$boxes$y1
 [1] 0.96876822 0.04476387 0.80076743 0.04476387 0.63276664 0.04476387 0.46476585 0.04476387 0.29676506 0.04476387 0.04476387

[[8]]$boxes$x2
 [1] 0.26088639 0.08464841 0.43712437 0.26657148 0.60767726 0.44849456 0.76685995 0.63041764 0.90330226 0.81234072 0.99426380

[[8]]$boxes$y2
 [1] 0.99996632 0.07596197 0.83196553 0.07596197 0.66396474 0.07596197 0.49596395 0.07596197 0.32796316 0.07596197 0.07596197


[[8]]$split.labs
[1] ""

[[8]]$split.cex
 [1] 1 1 1 1 1 1 1 1 1 1 1

[[8]]$split.box
[[8]]$split.box$x1
 [1] -0.007674503           NA  0.220212336           NA  0.374458311           NA  0.586529662           NA  0.749671849           NA           NA

[[8]]$split.box$y1
 [1] 0.8806141        NA 0.7126133        NA 0.5446125        NA 0.3766117        NA 0.2086109        NA        NA

[[8]]$split.box$x2
 [1] 0.1621443        NA 0.2981036        NA 0.5077038        NA 0.6594786        NA 0.8601826        NA        NA

[[8]]$split.box$y2
 [1] 0.9118122        NA 0.7438114        NA 0.5758106        NA 0.4078098        NA 0.2398090        NA        NA



[[9]]
[[9]]$obj
n= 7418 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

  1) root 7418 178 0 (0.976004314 0.023995686)  
    2) star_metallicity_na=!NA 5233  14 0 (0.997324670 0.002675330) *
    3) star_metallicity_na=NA 2185 164 0 (0.924942792 0.075057208)  
      6) mass_sini_na=NA 1873  53 0 (0.971703150 0.028296850)  
       12) star_sp_type_na=NA 1348   5 0 (0.996290801 0.003709199) *
       13) star_sp_type_na=!NA 525  48 0 (0.908571429 0.091428571)  
         26) star_teff_na=!NA 367  15 0 (0.959128065 0.040871935) *
         27) star_teff_na=NA 158  33 0 (0.791139241 0.208860759)  
           54) orbital_period_na=NA 87   1 0 (0.988505747 0.011494253) *
           55) orbital_period_na=!NA 71  32 0 (0.549295775 0.450704225)  
            110) mass_measurement_type_na=!NA 36   8 0 (0.777777778 0.222222222) *
            111) mass_measurement_type_na=NA 35  11 1 (0.314285714 0.685714286)  
              222) alternate_names_na=!NA 10   4 0 (0.600000000 0.400000000) *
              223) alternate_names_na=NA 25   5 1 (0.200000000 0.800000000) *
      7) mass_sini_na=!NA 312 111 0 (0.644230769 0.355769231)  
       14) k_na=!NA 157   3 0 (0.980891720 0.019108280) *
       15) k_na=NA 155  47 1 (0.303225806 0.696774194)  
         30) mag_v_na=!NA 60  24 0 (0.600000000 0.400000000)  
           60) angular_distance_na=!NA 15   0 0 (1.000000000 0.000000000) *
           61) angular_distance_na=NA 45  21 1 (0.466666667 0.533333333)  
            122) star_mass_na=NA 11   3 0 (0.727272727 0.272727273) *
            123) star_mass_na=!NA 34  13 1 (0.382352941 0.617647059) *
         31) mag_v_na=NA 95  11 1 (0.115789474 0.884210526) *

[[9]]$snipped.nodes
NULL

[[9]]$xlim
[1] 0 1

[[9]]$ylim
[1] 0 1

[[9]]$x
 [1] 0.26280996 0.03844651 0.48717340 0.20823506 0.12468832 0.29178181 0.21093012 0.37263350 0.29717192 0.44809508 0.38341373 0.51277643 0.46965553 0.55589733
[15] 0.76611173 0.64213914 0.89008432 0.79306229 0.72838094 0.85774365 0.81462275 0.90086455 0.98710635

[[9]]$y
 [1] 0.96623316 0.01992797 0.84333638 0.72043960 0.01992797 0.59754283 0.01992797 0.47464605 0.01992797 0.35174927 0.01992797 0.22885249 0.01992797 0.01992797
[15] 0.72043960 0.01992797 0.59754283 0.47464605 0.01992797 0.35174927 0.01992797 0.01992797 0.01992797

[[9]]$branch.x
     [,1]       [,2]      [,3]      [,4]      [,5]      [,6]      [,7]      [,8]      [,9]     [,10]     [,11]     [,12]     [,13]     [,14]     [,15]     [,16]
x 0.26281 0.03844651 0.4871734 0.2082351 0.1246883 0.2917818 0.2109301 0.3726335 0.2971719 0.4480951 0.3834137 0.5127764 0.4696555 0.5558973 0.7661117 0.6421391
       NA 0.03844651 0.4871734 0.2082351 0.1246883 0.2917818 0.2109301 0.3726335 0.2971719 0.4480951 0.3834137 0.5127764 0.4696555 0.5558973 0.7661117 0.6421391
       NA 0.26280996 0.2628100 0.4871734 0.2082351 0.2082351 0.2917818 0.2917818 0.3726335 0.3726335 0.4480951 0.4480951 0.5127764 0.5127764 0.4871734 0.7661117
      [,17]     [,18]     [,19]     [,20]     [,21]     [,22]     [,23]
x 0.8900843 0.7930623 0.7283809 0.8577436 0.8146227 0.9008645 0.9871064
  0.8900843 0.7930623 0.7283809 0.8577436 0.8146227 0.9008645 0.9871064
  0.7661117 0.8900843 0.7930623 0.7930623 0.8577436 0.8577436 0.8900843

[[9]]$branch.y
       [,1]       [,2]      [,3]      [,4]       [,5]      [,6]       [,7]      [,8]       [,9]     [,10]      [,11]     [,12]      [,13]      [,14]     [,15]
y 0.9989912 0.05268598 0.8760944 0.7531976 0.05268598 0.6303008 0.05268598 0.5074041 0.05268598 0.3845073 0.05268598 0.2616105 0.05268598 0.05268598 0.7531976
         NA 0.98729187 0.9872919 0.8643951 0.74149832 0.7414983 0.61860154 0.6186015 0.49570477 0.4957048 0.37280799 0.3728080 0.24991121 0.24991121 0.8643951
         NA 0.98729187 0.9872919 0.8643951 0.74149832 0.7414983 0.61860154 0.6186015 0.49570477 0.4957048 0.37280799 0.3728080 0.24991121 0.24991121 0.8643951
       [,16]     [,17]     [,18]      [,19]     [,20]      [,21]      [,22]      [,23]
y 0.05268598 0.6303008 0.5074041 0.05268598 0.3845073 0.05268598 0.05268598 0.05268598
  0.74149832 0.7414983 0.6186015 0.49570477 0.4957048 0.37280799 0.37280799 0.61860154
  0.74149832 0.7414983 0.6186015 0.49570477 0.4957048 0.37280799 0.37280799 0.61860154

[[9]]$labs
 [1] "0\n\n7240  178\n100%" "0\n\n5219  14\n71%"   "0\n\n2021  164\n29%"  "0\n\n1820  53\n25%"   "0\n\n1343  5\n18%"    "0\n\n477  48\n7%"    
 [7] "0\n\n352  15\n5%"     "0\n\n125  33\n2%"     "0\n\n86  1\n1%"       "0\n\n39  32\n1%"      "0\n\n28  8\n0%"       "1\n\n11  24\n0%"     
[13] "0\n\n6  4\n0%"        "1\n\n5  20\n0%"       "0\n\n201  111\n4%"    "0\n\n154  3\n2%"      "1\n\n47  108\n2%"     "0\n\n36  24\n1%"     
[19] "0\n\n15  0\n0%"       "1\n\n21  24\n1%"      "0\n\n8  3\n0%"        "1\n\n13  21\n0%"      "1\n\n11  84\n1%"     

[[9]]$cex
[1] 0.25

[[9]]$boxes
[[9]]$boxes$x1
 [1] 0.25786762 0.03350417 0.48223106 0.20329272 0.11974598 0.28683947 0.20598778 0.36769116 0.29222958 0.44315274 0.37847139 0.50783409 0.46471319 0.55095499
[15] 0.76116939 0.63719680 0.88514198 0.78811995 0.72343860 0.85280131 0.80968041 0.89592221 0.98216401

[[9]]$boxes$y1
 [1] 0.9755926 0.0292874 0.8526958 0.7297990 0.0292874 0.6069023 0.0292874 0.4840055 0.0292874 0.3611087 0.0292874 0.2382119 0.0292874 0.0292874 0.7297990
[16] 0.0292874 0.6069023 0.4840055 0.0292874 0.3611087 0.0292874 0.0292874 0.0292874

[[9]]$boxes$x2
 [1] 0.26775230 0.04338885 0.49211574 0.21317740 0.12963066 0.29672415 0.21587246 0.37757584 0.30211426 0.45303742 0.38835607 0.51771877 0.47459787 0.56083967
[15] 0.77105407 0.64708148 0.89502666 0.79800463 0.73332328 0.86268599 0.81956508 0.90580689 0.99204869

[[9]]$boxes$y2
 [1] 0.99899116 0.05268598 0.87609438 0.75319761 0.05268598 0.63030083 0.05268598 0.50740405 0.05268598 0.38450728 0.05268598 0.26161050 0.05268598 0.05268598
[15] 0.75319761 0.05268598 0.63030083 0.50740405 0.05268598 0.38450728 0.05268598 0.05268598 0.05268598


[[9]]$split.labs
[1] ""

[[9]]$split.cex
 [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

[[9]]$split.box
[[9]]$split.box$x1
 [1] -0.002080672           NA  0.176109856  0.088609237           NA  0.181770316           NA  0.259115908           NA  0.326082586           NA  0.426657175
[13]           NA           NA  0.624346715           NA  0.765879425  0.684394117           NA  0.782003302           NA           NA           NA

[[9]]$split.box$y1
 [1] 0.9119485        NA 0.7890517 0.6661549        NA 0.5432581        NA 0.4203614        NA 0.2974646        NA 0.1745678        NA        NA 0.6661549
[16]        NA 0.5432581 0.4203614        NA 0.2974646        NA        NA        NA

[[9]]$split.box$x2
 [1] 0.0789737        NA 0.2403603 0.1607674        NA 0.2400899        NA 0.3352279        NA 0.4407449        NA 0.5126539        NA        NA 0.6599316
[16]        NA 0.8202452 0.7723678        NA 0.8472422        NA        NA        NA

[[9]]$split.box$y2
 [1] 0.9353470        NA 0.8124503 0.6895535        NA 0.5666567        NA 0.4437599        NA 0.3208632        NA 0.1979664        NA        NA 0.6895535
[16]        NA 0.5666567 0.4437599        NA 0.3208632        NA        NA        NA
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KU3J5IGFib3V0IHRoZSBtZXNzLCB0aGlzIHdhcyBtb3N0bHkgZXhwbG9yYXRpb24NCg0KDQpgYGB7cn0NCmxpYnJhcnkoaGVyZSkNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShjb25mbGljdGVkKQ0KIyBsaWJyYXJ5KGVhc3lzdGF0cykNCg0KZXhvcGxhbmV0cyA8LSByZWFkX2NzdihoZXJlKCJkYXRhIiwgImV4b3BsYW5ldF9jYXRhbG9nXzA4MDMyNS5jc3YiKSkNCmV4b3BsYW5ldHMNCmBgYA0KDQoNCmBgYHtyfQ0KbGlicmFyeShza2ltcikNCnNraW0oZXhvcGxhbmV0cykNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkodGlkeW1vZGVscykNCmdsaW1wc2UoZXhvcGxhbmV0cykNCmBgYA0KDQoNCg0KYGBge3IsZmlnLmFzcD0yfQ0KbGlicmFyeShuYW5pYXIpDQpnZ19taXNzX3ZhcihleG9wbGFuZXRzKQ0KYGBgDQoNCg0KYGBge3IsIGZpZy53aWR0aD0yMCwgZmlnLmhlaWdodD0xMH0NCmxpYnJhcnkodmlzZGF0KQ0KdmlzX2RhdChleG9wbGFuZXRzKQ0KYGBgDQoNCg0KYGBge3J9DQpuYW1lcyhleG9wbGFuZXRzKQ0KYGBgDQoNCg0KYGBge3J9DQpsaWJyYXJ5KGphbml0b3IpDQpleG9wbGFuZXRzICU+JSB0YWJ5bChwbGFuZXRfc3RhdHVzKQ0KYGBgDQpgYGB7cn0NCmNvbmZsaWN0c19wcmVmZXIoZHBseXI6OmZpbHRlcikNCmV4b3BsYW5ldHMgJT4lIA0KICBmaWx0ZXIobmFtZSAlPiUgc3RyX2xpa2UoIiVUT0ktNzg0JSIpKQ0KYGBgDQoNCg0KYGBge3J9DQpjb25mbGljdHNfcHJlZmVyKGRwbHlyOjpmaWx0ZXIpDQpleG9wbGFuZXRzICU+JSANCiAgZmlsdGVyKGRpc2NvdmVyZWQgPT0gMjAyMykNCmBgYA0KDQpgYGB7cn0NCmV4b3BsYW5ldHMgJT4lDQogIG11dGF0ZSgNCiAgICByYV9yYWQgPSByYSwgICMgQ29udmVydCBSQSB0byByYWRpYW5zDQogICAgZGVjX3JhZCA9IGRlYyAgIyBDb252ZXJ0IERlYyB0byByYWRpYW5zDQogICkgJT4lIA0KICBnZ3Bsb3QoYWVzKHggPSByYV9yYWQsIHkgPSBkZWNfcmFkLCBjb2xvciA9IGRlYykpICsNCiAgZ2VvbV9wb2ludChzaXplID0gMC40KSArDQogIGNvb3JkX21hcCgiYWl0b2ZmIikgKyAgIyBBcHBseSBBaXRvZmYgcHJvamVjdGlvbg0KICB0aGVtZV9taW5pbWFsKCkgKw0KICB0aGVtZSgNCiAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1LCBoanVzdCA9IDEpLA0KICAgIGxlZ2VuZC5wb3NpdGlvbiA9ICJub25lIiAgIyBPcHRpb25hbGx5IHJlbW92ZSBsZWdlbmQNCiAgKQ0KYGBgDQoNCg0KYGBge3J9DQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShwbG90bHkpDQpjb25mbGljdHNfcHJlZmVyKHBsb3RseTo6bGF5b3V0KQ0KIyBDcmVhdGUgYSBuZXcgY29sdW1uIHRvIGRpc3Rpbmd1aXNoIEtlcGxlciBleG9wbGFuZXRzDQpleG9wbGFuZXRzXzNkIDwtIGV4b3BsYW5ldHMgJT4lDQogIG11dGF0ZSgNCiAgICByYV9yYWQgPSByYSAqIHBpIC8gMTgwLCAgICMgQ29udmVydCBSQSBmcm9tIGRlZ3JlZXMgdG8gcmFkaWFucw0KICAgIGRlY19yYWQgPSBkZWMgKiBwaSAvIDE4MCwgIyBDb252ZXJ0IERlYyBmcm9tIGRlZ3JlZXMgdG8gcmFkaWFucw0KICAgIHggPSBjb3MoZGVjX3JhZCkgKiBjb3MocmFfcmFkKSwgIyBDb252ZXJ0IHRvIENhcnRlc2lhbiBjb29yZGluYXRlcw0KICAgIHkgPSBjb3MoZGVjX3JhZCkgKiBzaW4ocmFfcmFkKSwNCiAgICB6ID0gc2luKGRlY19yYWQpLA0KICAgIGNvbG9yID0gY2FzZV93aGVuKCAgIyBDcmVhdGUgYSBjb2x1bW4gZm9yIHJlZCB3aGVuIGtlcGxlciwgYmx1ZSBvdGhlcndpc2UNCiAgICAgIHN0cl9kZXRlY3QocGFzdGUobmFtZSwgYWx0ZXJuYXRlX25hbWVzKSwgcmVnZXgoImtlcGxlcnxrb2kiLCBpZ25vcmVfY2FzZSA9IFRSVUUpKSB+ICJLZXBsZXIiLA0KICAgICAgIyBpZiBpdCdzIGZyZWUgZmxvYXRpbmcgKHN0YXJfbmFtZSBpcyBOQSkNCiAgICAgIHN0YXJfbmFtZSAlPiUgaXMubmEoKSB+ICJGcmVlIEZsb2F0aW5nIiwNCiAgICAgIFRSVUUgfiAiT3RoZXIiDQogICAgKSwNCiAgICBob3Zlcl90ZXh0ID0gcGFzdGUoIk5hbWU6ICIsIG5hbWUpICMgQ3JlYXRlIGN1c3RvbSBob3ZlciB0ZXh0IHdpdGggdGhlIG5hbWUgb2YgdGhlIGV4b3BsYW5ldA0KICApDQoNCiMgRGVmaW5lIHN0ZXBzIGZvciBvcGFjaXR5IHNsaWRlcg0Kc3RlcHMgPC0gbGlzdCgNCiAgbGlzdChhcmdzID0gbGlzdCgibWFya2VyLm9wYWNpdHkiLCAwLjApLCBsYWJlbCA9ICIwLjAiLCBtZXRob2QgPSAicmVzdHlsZSIpLA0KICBsaXN0KGFyZ3MgPSBsaXN0KCJtYXJrZXIub3BhY2l0eSIsIDAuMSksIGxhYmVsID0gIjAuMSIsIG1ldGhvZCA9ICJyZXN0eWxlIiksDQogIGxpc3QoYXJncyA9IGxpc3QoIm1hcmtlci5vcGFjaXR5IiwgMC4yKSwgbGFiZWwgPSAiMC4yIiwgbWV0aG9kID0gInJlc3R5bGUiKSwNCiAgbGlzdChhcmdzID0gbGlzdCgibWFya2VyLm9wYWNpdHkiLCAwLjMpLCBsYWJlbCA9ICIwLjMiLCBtZXRob2QgPSAicmVzdHlsZSIpLA0KICBsaXN0KGFyZ3MgPSBsaXN0KCJtYXJrZXIub3BhY2l0eSIsIDAuNCksIGxhYmVsID0gIjAuNCIsIG1ldGhvZCA9ICJyZXN0eWxlIiksDQogIGxpc3QoYXJncyA9IGxpc3QoIm1hcmtlci5vcGFjaXR5IiwgMC41KSwgbGFiZWwgPSAiMC41IiwgbWV0aG9kID0gInJlc3R5bGUiKSwNCiAgbGlzdChhcmdzID0gbGlzdCgibWFya2VyLm9wYWNpdHkiLCAwLjYpLCBsYWJlbCA9ICIwLjYiLCBtZXRob2QgPSAicmVzdHlsZSIpLA0KICBsaXN0KGFyZ3MgPSBsaXN0KCJtYXJrZXIub3BhY2l0eSIsIDAuNyksIGxhYmVsID0gIjAuNyIsIG1ldGhvZCA9ICJyZXN0eWxlIiksDQogIGxpc3QoYXJncyA9IGxpc3QoIm1hcmtlci5vcGFjaXR5IiwgMC44KSwgbGFiZWwgPSAiMC44IiwgbWV0aG9kID0gInJlc3R5bGUiKSwNCiAgbGlzdChhcmdzID0gbGlzdCgibWFya2VyLm9wYWNpdHkiLCAwLjkpLCBsYWJlbCA9ICIwLjkiLCBtZXRob2QgPSAicmVzdHlsZSIpLA0KICBsaXN0KGFyZ3MgPSBsaXN0KCJtYXJrZXIub3BhY2l0eSIsIDEuMCksIGxhYmVsID0gIjEuMCIsIG1ldGhvZCA9ICJyZXN0eWxlIikNCikNCg0KIyBDcmVhdGUgYW4gaW50ZXJhY3RpdmUgM0Qgc2NhdHRlciBwbG90IHdpdGggcGxvdGx5DQpwbG90X2x5KA0KICBkYXRhID0gZXhvcGxhbmV0c18zZCwNCiAgeCA9IH54LA0KICB5ID0gfnksDQogIHogPSB+eiwNCiAgY29sb3IgPSB+Y29sb3IsICAjIFVzZSB0aGUga2VwbGVyX2hpZ2hsaWdodCBjb2x1bW4gZm9yIGNvbG9yIG1hcHBpbmcNCiAgY29sb3JzID0gYygiT3RoZXIiID0gInJlZCIsICJLZXBsZXIiID0gImJsdWUiLCAiRnJlZSBGbG9hdGluZyIgPSAiZ3JlZW4iKSwNCiAgdGV4dCA9IH5ob3Zlcl90ZXh0LCAjIFNob3cgdGhlIG5hbWUgb2YgdGhlIGV4b3BsYW5ldCBvbiBob3Zlcg0KICB0eXBlID0gInNjYXR0ZXIzZCIsDQogIG1vZGUgPSAibWFya2VycyIsDQogIG1hcmtlciA9IGxpc3Qoc2l6ZSA9IDEsIG9wYWNpdHkgPSAwLjcpLCAjIERlZmF1bHQgb3BhY2l0eQ0KICBzaG93bGVnZW5kID0gVFJVRQ0KKSAlPiUNCiAgbGF5b3V0KA0KICAgIHRpdGxlID0gIjNEIFNreSBNYXAgb2YgRXhvcGxhbmV0cyAoS2VwbGVyIEhpZ2hsaWdodGVkKSIsDQogICAgc2NlbmUgPSBsaXN0KA0KICAgICAgeGF4aXMgPSBsaXN0KHRpdGxlID0gIlgiKSwNCiAgICAgIHlheGlzID0gbGlzdCh0aXRsZSA9ICJZIiksDQogICAgICB6YXhpcyA9IGxpc3QodGl0bGUgPSAiWiIpDQogICAgKSwNCiAgICBzbGlkZXJzID0gbGlzdCgNCiAgICAgIGxpc3QoDQogICAgICAgIGFjdGl2ZSA9IDEsICAjIFNldCB0aGUgZGVmYXVsdCBvcGFjaXR5IHZhbHVlIHRvIDEuMCAoZnVsbHkgb3BhcXVlKQ0KICAgICAgICBjdXJyZW50dmFsdWUgPSBsaXN0KA0KICAgICAgICAgIHByZWZpeCA9ICJPcGFjaXR5OiAiLA0KICAgICAgICAgIGZvbnQgPSBsaXN0KHNpemUgPSAxNSkNCiAgICAgICAgKSwNCiAgICAgICAgcGFkID0gbGlzdCh0ID0gNjApLA0KICAgICAgICBzdGVwcyA9IHN0ZXBzICAjIFVzZSB0aGUgc3RlcHMgZGVmaW5lZCBlYXJsaWVyIGZvciB0aGUgb3BhY2l0eSBzbGlkZXINCiAgICAgICkNCiAgICApDQogICkNCg0KYGBgDQoNCmBgYHtyfQ0KDQojIEFzc3VtaW5nIHlvdXIgZGF0YSBpcyBsb2FkZWQgYXMgJ2V4b3BsYW5ldHMnDQojIENvbnZlcnQgUkEgdG8gZGVncmVlcyAoaWYgaXQncyBpbiBob3VyczptaW51dGVzOnNlY29uZHMgZm9ybWF0KQ0KIyBJZiBSQSBpcyBhbHJlYWR5IGluIGRlZ3JlZXMsIHNraXAgdGhpcyBzdGVwDQpleG9wbGFuZXRzICU+JQ0KICBtdXRhdGUoDQogICAgcmFfZGVnID0gcmEsICAjIENvbnZlcnQgUkEgZnJvbSBob3VycyB0byBkZWdyZWVzIChpZiBuZWVkZWQpDQogICAgIyBDb252ZXJ0IHRvIHBvbGFyIGNvb3JkaW5hdGVzIGZvciBwbG90dGluZw0KICAgICMgUkEgaXMgbWFwcGVkIHRvIHRoZXRhICgwLTM2MCBkZWdyZWVzKQ0KICAgIHRoZXRhID0gcmFfZGVnDQogICkgJT4lIA0KZ2dwbG90KGFlcyh4ID0gdGhldGEsIHkgPSBzdGFyX2Rpc3RhbmNlLCBjb2xvciA9IG1hc3MpKSArDQogICMgVXNlIGNvb3JkX3BvbGFyIGZvciBjaXJjdWxhciBwbG90DQogIGNvb3JkX3BvbGFyKHN0YXJ0ID0gMCwgZGlyZWN0aW9uID0gLTEpICsgIyBTdGFydCBhdCAwIGRlZ3JlZXMsIGNsb2Nrd2lzZSBkaXJlY3Rpb24NCiAgIyBBZGQgY29uY2VudHJpYyBjaXJjbGVzIGZvciBkaXN0YW5jZSByZWZlcmVuY2UNCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gYygxMCwgMTAwLCAxMDAwLCAxMDAwMCksIA0KICAgICAgICAgICAgIGNvbG9yID0gImdyYXkiLCBsaW5ldHlwZSA9ICJzb2xpZCIsIHNpemUgPSAwLjMsIGFscGhhID0gMC43KSArDQogICMgQWRkIHJhZGlhbCBsaW5lcyBmb3IgYW5nbGUgcmVmZXJlbmNlDQogIGdlb21fdmxpbmUoeGludGVyY2VwdCA9IHNlcSgwLCAzMzAsIGJ5ID0gMzApLCANCiAgICAgICAgICAgICBjb2xvciA9ICJncmF5IiwgbGluZXR5cGUgPSAic29saWQiLCBzaXplID0gMC4zLCBhbHBoYSA9IDAuNykgKw0KICAjIFBsb3QgdGhlIGV4b3BsYW5ldHMNCiAgZ2VvbV9wb2ludChhbHBoYSA9IDAuOCwgc2l6ZSA9IDEpICsNCiAgIyBVc2UgbG9nIHNjYWxlIGZvciBkaXN0YW5jZQ0KICBzY2FsZV95X2xvZzEwKA0KICAgIGJyZWFrcyA9IGMoMTAsIDEwMCwgMTAwMCwgMTAwMDApLA0KICAgIGxhYmVscyA9IGMoIjEwIHBjIiwgIjEwMCBwYyIsICIxMDAwIHBjIiwgIjEwMDAwIHBjIiksDQogICAgbGltaXRzID0gYygxLCAxNTAwMCkNCiAgKSArDQogICMgVXNlIGxvZyBzY2FsZSBmb3IgbWFzcyBjb2xvcnMNCiAgc2NhbGVfY29sb3JfZ3JhZGllbnRuKA0KICAgIGNvbG9ycyA9IGMoIiMxRTkwRkYiLCAiIzMyQ0QzMiIsICIjRkZGRjAwIiwgIiNGRkE1MDAiLCAiI0ZGNDUwMCIsICIjRkYwMDAwIiksDQogICAgdHJhbnMgPSAibG9nMTAiLA0KICAgIGJyZWFrcyA9IGMoMC4wMDAxLCAwLjAwMSwgMC4wMSwgMC4xLCAxLCAxMCksDQogICAgbGFiZWxzID0gYygiMTDigbvigbQiLCAiMTDigbvCsyIsICIxMOKBu8KyIiwgIjEw4oG7wrkiLCAiMTDigbAiLCAiMTDCuSIpLA0KICAgIG5hbWUgPSAiUGxhbmV0YXJ5IE1hc3MgKE1KdXApIg0KICApICsNCiAgIyBSZW1vdmUgZ3JpZCBhbmQgYXhpcyBlbGVtZW50cw0KICB0aGVtZV9taW5pbWFsKCkgKw0KICB0aGVtZSgNCiAgICBheGlzLnRpdGxlID0gZWxlbWVudF9ibGFuaygpLA0KICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF9ibGFuaygpLA0KICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF9ibGFuaygpLA0KICAgIHBhbmVsLmdyaWQgPSBlbGVtZW50X2JsYW5rKCksDQogICAgbGVnZW5kLnBvc2l0aW9uID0gImJvdHRvbSIsDQogICAgbGVnZW5kLmJveCA9ICJob3Jpem9udGFsIiwNCiAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGhqdXN0ID0gMC41KQ0KICApICsNCiAgZ2d0aXRsZSgiRXhvcGxhbmV0IERpc3RyaWJ1dGlvbiIpDQpgYGANCg0KDQpgYGB7cn0NCmxpYnJhcnkoc2hpbnkpDQpsaWJyYXJ5KHBsb3RseSkNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KHN0cmluZ3IpDQoNCiMgQXNzdW1pbmcgJ2V4b3BsYW5ldHMnIGRhdGFzZXQgaXMgYXZhaWxhYmxlDQojIENyZWF0ZSBhIG5ldyBjb2x1bW4gdG8gZGlzdGluZ3Vpc2ggS2VwbGVyIGV4b3BsYW5ldHMNCmV4b3BsYW5ldHNfM2QgPC0gZXhvcGxhbmV0cyAlPiUNCiAgbXV0YXRlKA0KICAgIHJhX3JhZCA9IHJhICogcGkgLyAxODAsICAgIyBDb252ZXJ0IFJBIGZyb20gZGVncmVlcyB0byByYWRpYW5zDQogICAgZGVjX3JhZCA9IGRlYyAqIHBpIC8gMTgwLCAjIENvbnZlcnQgRGVjIGZyb20gZGVncmVlcyB0byByYWRpYW5zDQogICAgeCA9IGNvcyhkZWNfcmFkKSAqIGNvcyhyYV9yYWQpLCAjIENvbnZlcnQgdG8gQ2FydGVzaWFuIGNvb3JkaW5hdGVzDQogICAgeSA9IGNvcyhkZWNfcmFkKSAqIHNpbihyYV9yYWQpLA0KICAgIHogPSBzaW4oZGVjX3JhZCksDQogICAgY29sb3IgPSBjYXNlX3doZW4oICAjIENyZWF0ZSBhIGNvbHVtbiBmb3IgcmVkIHdoZW4ga2VwbGVyLCBibHVlIG90aGVyd2lzZQ0KICAgICAgc3RyX2RldGVjdChwYXN0ZShuYW1lLCBhbHRlcm5hdGVfbmFtZXMpLCByZWdleCgia2VwbGVyfGtvaSIsIGlnbm9yZV9jYXNlID0gVFJVRSkpIH4gIktlcGxlciIsDQogICAgICAjIGlmIGl0J3MgZnJlZSBmbG9hdGluZyAoc3Rhcl9uYW1lIGlzIE5BKQ0KICAgICAgc3Rhcl9uYW1lICU+JSBpcy5uYSgpIH4gIkZyZWUgRmxvYXRpbmciLA0KICAgICAgVFJVRSB+ICJPdGhlciINCiAgICApLA0KICAgIGhvdmVyX3RleHQgPSBwYXN0ZSgiTmFtZTogIiwgbmFtZSksICMgQ3JlYXRlIGN1c3RvbSBob3ZlciB0ZXh0IHdpdGggdGhlIG5hbWUgb2YgdGhlIGV4b3BsYW5ldA0KICAgIHNjYWxlZF94ID0geCAqICgxIC8gc3Rhcl9kaXN0YW5jZSksICAjIEFkanVzdCB4IGNvb3JkaW5hdGUgYnkgc3RhciBkaXN0YW5jZSAoY2xvc2VyID0gY2xvc2VyIHRvIGNlbnRlcikNCiAgICBzY2FsZWRfeSA9IHkgKiAoMSAvIHN0YXJfZGlzdGFuY2UpLCAgIyBBZGp1c3QgeSBjb29yZGluYXRlIHNpbWlsYXJseQ0KICAgIHNjYWxlZF96ID0geiAqICgxIC8gc3Rhcl9kaXN0YW5jZSkgICAjIEFkanVzdCB6IGNvb3JkaW5hdGUgc2ltaWxhcmx5DQogICkNCg0KIyBEZWZpbmUgc3RlcHMgZm9yIG9wYWNpdHkgc2xpZGVyDQpzdGVwcyA8LSBsaXN0KA0KICBsaXN0KGFyZ3MgPSBsaXN0KCJtYXJrZXIub3BhY2l0eSIsIDAuMCksIGxhYmVsID0gIjAuMCIsIG1ldGhvZCA9ICJyZXN0eWxlIiksDQogIGxpc3QoYXJncyA9IGxpc3QoIm1hcmtlci5vcGFjaXR5IiwgMC4xKSwgbGFiZWwgPSAiMC4xIiwgbWV0aG9kID0gInJlc3R5bGUiKSwNCiAgbGlzdChhcmdzID0gbGlzdCgibWFya2VyLm9wYWNpdHkiLCAwLjIpLCBsYWJlbCA9ICIwLjIiLCBtZXRob2QgPSAicmVzdHlsZSIpLA0KICBsaXN0KGFyZ3MgPSBsaXN0KCJtYXJrZXIub3BhY2l0eSIsIDAuMyksIGxhYmVsID0gIjAuMyIsIG1ldGhvZCA9ICJyZXN0eWxlIiksDQogIGxpc3QoYXJncyA9IGxpc3QoIm1hcmtlci5vcGFjaXR5IiwgMC40KSwgbGFiZWwgPSAiMC40IiwgbWV0aG9kID0gInJlc3R5bGUiKSwNCiAgbGlzdChhcmdzID0gbGlzdCgibWFya2VyLm9wYWNpdHkiLCAwLjUpLCBsYWJlbCA9ICIwLjUiLCBtZXRob2QgPSAicmVzdHlsZSIpLA0KICBsaXN0KGFyZ3MgPSBsaXN0KCJtYXJrZXIub3BhY2l0eSIsIDAuNiksIGxhYmVsID0gIjAuNiIsIG1ldGhvZCA9ICJyZXN0eWxlIiksDQogIGxpc3QoYXJncyA9IGxpc3QoIm1hcmtlci5vcGFjaXR5IiwgMC43KSwgbGFiZWwgPSAiMC43IiwgbWV0aG9kID0gInJlc3R5bGUiKSwNCiAgbGlzdChhcmdzID0gbGlzdCgibWFya2VyLm9wYWNpdHkiLCAwLjgpLCBsYWJlbCA9ICIwLjgiLCBtZXRob2QgPSAicmVzdHlsZSIpLA0KICBsaXN0KGFyZ3MgPSBsaXN0KCJtYXJrZXIub3BhY2l0eSIsIDAuOSksIGxhYmVsID0gIjAuOSIsIG1ldGhvZCA9ICJyZXN0eWxlIiksDQogIGxpc3QoYXJncyA9IGxpc3QoIm1hcmtlci5vcGFjaXR5IiwgMS4wKSwgbGFiZWwgPSAiMS4wIiwgbWV0aG9kID0gInJlc3R5bGUiKQ0KKQ0KDQojIERlZmluZSBVSSBmb3IgdGhlIFNoaW55IGFwcA0KdWkgPC0gZmx1aWRQYWdlKA0KICAjIEFwcGxpY2F0aW9uIHRpdGxlDQogIHRpdGxlUGFuZWwoIjNEIFNreSBNYXAgb2YgRXhvcGxhbmV0cyAoS2VwbGVyIEhpZ2hsaWdodGVkKSIpLA0KICANCiAgIyBTaWRlYmFyIGxheW91dCAoY2FuIHJlbWFpbiBlbXB0eSBzaW5jZSB0aGUgc2xpZGVyIGlzIGluIFBsb3RseSkNCiAgc2lkZWJhckxheW91dCgNCiAgICBzaWRlYmFyUGFuZWwoDQogICAgICAjIEVtcHR5IHNpZGViYXIgcGFuZWwgKHNpbmNlIG5vIFNoaW55IHNsaWRlciBpcyBuZWVkZWQpDQogICAgKSwNCiAgICANCiAgICBtYWluUGFuZWwoDQogICAgICAjIFBsb3RseSBvdXRwdXQgZm9yIGRpc3BsYXlpbmcgdGhlIHBsb3QNCiAgICAgIHBsb3RseU91dHB1dCgicGxvdCIsIGhlaWdodCA9ICI4MDBweCIpICAjIFBsb3QgaGVpZ2h0IHNldCB0byA4MDBweA0KICAgICkNCiAgKQ0KKQ0KDQojIERlZmluZSBzZXJ2ZXIgbG9naWMgZm9yIHRoZSBTaGlueSBhcHANCnNlcnZlciA8LSBmdW5jdGlvbihpbnB1dCwgb3V0cHV0LCBzZXNzaW9uKSB7DQogIA0KICAjIENyZWF0ZSB0aGUgUGxvdGx5IGZpZ3VyZSB0byBiZSByZW5kZXJlZA0KICBvdXRwdXQkcGxvdCA8LSByZW5kZXJQbG90bHkoew0KICAgIGZpZyA8LSBwbG90X2x5KA0KICAgICAgZGF0YSA9IGV4b3BsYW5ldHNfM2QsDQogICAgICB4ID0gfnNjYWxlZF94LA0KICAgICAgeSA9IH5zY2FsZWRfeSwNCiAgICAgIHogPSB+c2NhbGVkX3osDQogICAgICBjb2xvciA9IH5jb2xvciwgICMgVXNlIHRoZSBrZXBsZXJfaGlnaGxpZ2h0IGNvbHVtbiBmb3IgY29sb3IgbWFwcGluZw0KICAgICAgY29sb3JzID0gYygiT3RoZXIiID0gInJlZCIsICJLZXBsZXIiID0gImJsdWUiLCAiRnJlZSBGbG9hdGluZyIgPSAiZ3JlZW4iKSwNCiAgICAgIHRleHQgPSB+aG92ZXJfdGV4dCwgIyBTaG93IHRoZSBuYW1lIG9mIHRoZSBleG9wbGFuZXQgb24gaG92ZXINCiAgICAgIHR5cGUgPSAic2NhdHRlcjNkIiwNCiAgICAgIG1vZGUgPSAibWFya2VycyIsDQogICAgICBtYXJrZXIgPSBsaXN0KHNpemUgPSAyLCBvcGFjaXR5ID0gMC43KSwgIyBEZWZhdWx0IG9wYWNpdHkNCiAgICAgIHNob3dsZWdlbmQgPSBUUlVFDQogICAgKQ0KICAgIA0KICAgICMgQWRkIHRoZSBvcGFjaXR5IHNsaWRlciBkaXJlY3RseSBpbnNpZGUgUGxvdGx5IGxheW91dA0KICAgIGZpZyA8LSBmaWcgJT4lIGxheW91dCgNCiAgICAgIHRpdGxlID0gIjNEIFNreSBNYXAgb2YgRXhvcGxhbmV0cyAoS2VwbGVyIEhpZ2hsaWdodGVkKSIsDQogICAgICBzY2VuZSA9IGxpc3QoDQogICAgICAgIHhheGlzID0gbGlzdCh0aXRsZSA9ICJYIiksDQogICAgICAgIHlheGlzID0gbGlzdCh0aXRsZSA9ICJZIiksDQogICAgICAgIHpheGlzID0gbGlzdCh0aXRsZSA9ICJaIikNCiAgICAgICksDQogICAgICBzbGlkZXJzID0gbGlzdCgNCiAgICAgICAgbGlzdCgNCiAgICAgICAgICBhY3RpdmUgPSAxLCAgIyBTZXQgdGhlIGRlZmF1bHQgb3BhY2l0eSB2YWx1ZSB0byAxLjAgKGZ1bGx5IG9wYXF1ZSkNCiAgICAgICAgICBjdXJyZW50dmFsdWUgPSBsaXN0KA0KICAgICAgICAgICAgcHJlZml4ID0gIk9wYWNpdHk6ICIsDQogICAgICAgICAgICBmb250ID0gbGlzdChzaXplID0gMTUpDQogICAgICAgICAgKSwNCiAgICAgICAgICBwYWQgPSBsaXN0KHQgPSA2MCksDQogICAgICAgICAgc3RlcHMgPSBzdGVwcyAgIyBVc2UgdGhlIHN0ZXBzIGRlZmluZWQgZWFybGllciBmb3IgdGhlIG9wYWNpdHkgc2xpZGVyDQogICAgICAgICkNCiAgICAgICksDQogICAgICBoZWlnaHQgPSA4MDAgICMgU2V0IHRoZSBoZWlnaHQgb2YgdGhlIHBsb3QgdG8gODAwcHgNCiAgICApDQogICAgDQogICAgZmlnDQogIH0pDQp9DQoNCmlmIChGKSB7DQogICMgUnVuIHRoZSBhcHBsaWNhdGlvbg0KICBzaGlueUFwcCh1aSA9IHVpLCBzZXJ2ZXIgPSBzZXJ2ZXIpDQp9DQpgYGANCg0KDQpgYGB7cn0NCiMgY2hlY2sgaG93IG1hbnkgYXJlIG1pc3NpbmcNCmV4b3BsYW5ldHMgJT4lIA0KICBzZWxlY3QocmEsIGRlYywgYW5ndWxhcl9kaXN0YW5jZSkgJT4lIA0KICBtdXRhdGUocmEgPSByYSAlPiUgaXMubmEoKSwgZGVjID0gZGVjICU+JSBpcy5uYSgpLCBhbmd1bGFyX2Rpc3RhbmNlID0gYW5ndWxhcl9kaXN0YW5jZSAlPiUgaXMubmEoKSkgJT4lDQogIHN1bW1hcmlzZV9hbGwobWVhbikgJT4lDQogIGdhdGhlcihrZXk9ImNvbHVtbiIsIHZhbHVlPSJwZXJjZW50YWdlIikNCmBgYA0KDQoNCmBgYHtyfQ0KIyBjaGVjayB3aGljaCBvbmVzIGRvbnQgaGF2ZSByYQ0KZXhvcGxhbmV0cyAlPiUgDQogIGZpbHRlcihyYSAlPiUgaXMubmEoKSkNCmBgYA0KDQpgYGB7cn0NCiMgY2hlY2sgb3V0IGFsdGVybmF0ZSBuYW1lcw0KZXhvcGxhbmV0cyAlPiUgDQogIHNlbGVjdChuYW1lLCBhbHRlcm5hdGVfbmFtZXMpICU+JSANCiAgZmlsdGVyKGFsdGVybmF0ZV9uYW1lcyAlPiUgc3RyX2xlbmd0aCgpID4gMCkNCg0KYGBgDQoNCmBgYHtyfQ0KZXhvcGxhbmV0cyAlPiUgDQogIHRhYnlsKHB1YmxpY2F0aW9uKQ0KYGBgDQoNCg0KYGBge3J9DQojIHJlbW92ZSBhbnkgY29sdW1uIHdpdGggZXJyb3IgaW4gdGhlIG5hbWUNCmV4b3BsYW5ldHNfciA8LSBleG9wbGFuZXRzICU+JSANCiAgc2VsZWN0KC1jb250YWlucygiZXJyb3IiKSkgJT4lIA0KICBzZWxlY3QoLXBsYW5ldF9zdGF0dXMsIC1wdWJsaWNhdGlvbikNCmV4b3BsYW5ldHNfciAlPiUgbmFtZXMNCmBgYA0KDQpgYGB7ciwgZmlnLndpZHRoPTIwLCBmaWcuaGVpZ2h0PTEwfQ0KbGlicmFyeSh2aXNkYXQpDQp2aXNfZGF0KGV4b3BsYW5ldHNfcikNCmBgYA0KDQpgYGB7ciwgZmlnLndpZHRoPTIwLCBmaWcuaGVpZ2h0PTEwfQ0KdmlzX21pc3MoZXhvcGxhbmV0c19yLCBzb3J0X21pc3MgPSBULCBjbHVzdGVyID0gVCkNCmBgYA0KDQojIGRldGVjdGlvbiB0eXBlDQpgYGB7cn0NCmV4b3BsYW5ldHMgJT4lIA0KICB0YWJ5bCgiZGV0ZWN0aW9uX3R5cGUiKSAlPiUgDQogIGFycmFuZ2UoLW4pDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KGZhc3REdW1taWVzKQ0KZXhvcGxhbmV0c19yZCA8LSBleG9wbGFuZXRzX3IgJT4lIA0KICBkdW1teV9jb2xzKHNlbGVjdF9jb2x1bW5zID0gImRldGVjdGlvbl90eXBlIiwgc3BsaXQgPSAiLCAiKQ0KZXhvcGxhbmV0c19yZCAlPiUgc2VsZWN0KHN0YXJ0c193aXRoKCJkZXRlY3Rpb25fdHlwZSIpKSAlPiUgDQogIHVuaXF1ZQ0KYGBgDQoNCg0KYGBge3J9DQpleG9wbGFuZXRzX3JkICU+JSANCiAgc2VsZWN0KHN0YXJ0c193aXRoKCJkZXRlY3Rpb25fdHlwZSIpKSAlPiUgDQogIGdhdGhlcihrZXk9ImRldGVjdGlvbl90eXBlIiwgdmFsdWU9InZhbHVlIikgJT4lIA0KICBmaWx0ZXIodmFsdWUgPT0gMSkgJT4lIA0KICBncm91cF9ieShkZXRlY3Rpb25fdHlwZSkgJT4lIA0KICBzdW1tYXJpc2UobiA9IG4oKSwgcGVyY2VudGFnZSA9IG4oKSoxMDAgLyBucm93KGV4b3BsYW5ldHNfcmQpKSAlPiUgDQogIGFycmFuZ2UoLW4pDQpgYGANCg0KDQpgYGB7ciwgZmlnLndpZHRoPTEwLCBmaWcuaGVpZ2h0PTIwfQ0KbGlicmFyeShuYW5pYXIpDQpleG9wbGFuZXRzX3JkICU+JQ0KICBncm91cF9ieShgZGV0ZWN0aW9uX3R5cGVfUHJpbWFyeSBUcmFuc2l0YCkgJT4lIA0KICBtaXNzX3Zhcl9zdW1tYXJ5KCkgJT4lIA0KICBhcnJhbmdlKHZhcmlhYmxlKSAlPiUgDQogIGZpbHRlcih2YXJpYWJsZSAlPiUgc3RyX2RldGVjdCgiZGV0ZWN0aW9uX3R5cGUiLCBuZWdhdGUgPSBUKSkgJT4lIA0KICBnZ3Bsb3QoYWVzKHggPSB2YXJpYWJsZSwgeSA9IHBjdF9taXNzLCBmaWxsID0gYGRldGVjdGlvbl90eXBlX1ByaW1hcnkgVHJhbnNpdGApKSArDQogIGdlb21fY29sKHBvc2l0aW9uPSJkb2RnZSIpICsNCiAgY29vcmRfZmxpcCgpIA0KYGBgDQoNCg0KYGBge3J9DQppZiAoRil7DQpsaWJyYXJ5KG1pc3R5KQ0KZXhvcGxhbmV0c19yZCAlPiUgDQogIHNlbGVjdCh0emVyb192ciwgdHplcm9fdHJfc2VjLCB0emVyb190cikgJT4lIA0KICBuYS50ZXN0KGRhdGEgPSBleG9wbGFuZXRzX3JkKQ0KfSAjIGRpZG50IHdvcmsgZm9yIHNvbWUgcmVhc29uDQpgYGANCg0KDQpgYGB7cn0NCmxpYnJhcnkoc2hpbnkpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShwbG90bHkpDQpsaWJyYXJ5KG5hbmlhcikgICMgQXNzdW1pbmcgbWlzc192YXJfc3VtbWFyeSgpIGlzIGZyb20gbmFuaWFyDQoNCiMgU2FtcGxlIFVJDQp1aSA8LSBmbHVpZFBhZ2UoDQogIHRpdGxlUGFuZWwoIk1pc3NpbmcgRGF0YSBieSBEZXRlY3Rpb24gVHlwZSIpLA0KICANCiAgc2lkZWJhckxheW91dCgNCiAgICBzaWRlYmFyUGFuZWwoDQogICAgICBzZWxlY3RJbnB1dCgiZ3JvdXBfdmFyIiwgIlNlbGVjdCBEZXRlY3Rpb24gVHlwZToiLCANCiAgICAgICAgICAgICAgICAgIGNob2ljZXMgPSBuYW1lcyhleG9wbGFuZXRzX3JkKVtncmVwbCgiXmRldGVjdGlvbl90eXBlXyIsIG5hbWVzKGV4b3BsYW5ldHNfcmQpKV0pDQogICAgKSwNCiAgICANCiAgICBtYWluUGFuZWwoDQogICAgICBwbG90bHlPdXRwdXQoIm1pc3NpbmdfcGxvdCIsIGhlaWdodCA9ICI3MDBweCIpICAjIEluY3JlYXNlZCBoZWlnaHQNCiAgICApDQogICkNCikNCg0KIyBTZXJ2ZXIgZnVuY3Rpb24NCnNlcnZlciA8LSBmdW5jdGlvbihpbnB1dCwgb3V0cHV0KSB7DQogIG91dHB1dCRtaXNzaW5nX3Bsb3QgPC0gcmVuZGVyUGxvdGx5KHsNCiAgICBleG9wbGFuZXRzX3JkICU+JQ0KICAgICAgIyB0cmFuc2Zvcm0gdmFycyBpbnRvIGJvb2wNCiAgICAgIG11dGF0ZShhY3Jvc3Moc3RhcnRzX3dpdGgoImRldGVjdGlvbl90eXBlIiksIH4gLnggJT4lIGFzLmxvZ2ljYWwoKSkpICU+JQ0KICAgICAgZ3JvdXBfYnkoLmRhdGFbW2lucHV0JGdyb3VwX3Zhcl1dKSAlPiUNCiAgICAgIG1pc3NfdmFyX3N1bW1hcnkoKSAlPiUNCiAgICAgIGFycmFuZ2UodmFyaWFibGUpICU+JQ0KICAgICAgZmlsdGVyKCFzdHJfZGV0ZWN0KHZhcmlhYmxlLCAiZGV0ZWN0aW9uX3R5cGUiKSkgJT4lDQogICAgICBwbG90X2x5KHkgPSB+dmFyaWFibGUsIHggPSB+cGN0X21pc3MsIGNvbG9yID0gfi5kYXRhW1tpbnB1dCRncm91cF92YXJdXSwgdHlwZSA9ICJiYXIiKSAlPiUNCiAgICAgIGxheW91dChiYXJtb2RlID0gImdyb3VwIiwgaGVpZ2h0ID0gNzAwKSAgIyBJbmNyZWFzZWQgcGxvdCBoZWlnaHQNCiAgfSkNCn0NCiMgUnVuIHRoZSBhcHANCmlmIChGKSB7DQogIHNoaW55QXBwKHVpID0gdWksIHNlcnZlciA9IHNlcnZlcikNCn0NCmBgYA0KDQpgYGB7cn0NCiMgZmlsdGVyIGJ5IHRoZSBrZXBsZXINCmV4b3BsYW5ldHMgJT4lIA0KICBmaWx0ZXIocGFzdGUobmFtZSwgYWx0ZXJuYXRlX25hbWVzKSAlPiUgc3RyX2xpa2UoIiVLZXBsZXIlIikpICU+JSANCiAgdGFieWwoImRldGVjdGlvbl90eXBlIikNCmBgYA0KDQpgYGB7cn0NCiMgY2hlY2sgb3RoZXINCmV4b3BsYW5ldHMgJT4lIA0KICBmaWx0ZXIoZGV0ZWN0aW9uX3R5cGUgPT0gIk90aGVyIikNCmBgYA0KDQpgYGB7cn0NCmNvbmZsaWN0c19wcmVmZXIobHVicmlkYXRlOjp5ZGF5KQ0KY29uZmxpY3RzX3ByZWZlcihsdWJyaWRhdGU6OnllYXIpDQp5ZWFyX3dpdGhfcGVyY2VudGFnZSA8LSBmdW5jdGlvbihkYXRlKSB7DQogIHBlcmNlbnRhZ2Vfb2ZfeWVhciA8LSB5ZGF5KGRhdGUpIC8gaWZlbHNlKGxlYXBfeWVhcihkYXRlKSwgMzY2LCAzNjUpDQogIHllYXIoZGF0ZSkgKyBwZXJjZW50YWdlX29mX3llYXINCn0NCg0KZXhvcGxhbmV0c19yZCAlPiUgDQogIG11dGF0ZSh1cGRhdGVkID0gdXBkYXRlZCAlPiUgeWVhcl93aXRoX3BlcmNlbnRhZ2UpICU+JSANCiAgbXV0YXRlKGRpZmZfZGlzY191cGRhdGVkID0gdXBkYXRlZCAtIGRpc2NvdmVyZWQpIC0+IGV4b3BsYW5ldHNfcmRkDQpleG9wbGFuZXRzX3JkZCAlPiUgDQogIHNlbGVjdChkaXNjb3ZlcmVkLCB1cGRhdGVkLCBkaWZmX2Rpc2NfdXBkYXRlZCkNCmBgYA0KDQpgYGB7cn0NCmV4b3BsYW5ldHNfcmRkayA8LSBleG9wbGFuZXRzX3JkZCAlPiUgDQogIG11dGF0ZShpc19rZXBsZXIgPSBwYXN0ZShuYW1lLCBhbHRlcm5hdGVfbmFtZXMpICU+JSBzdHJfZGV0ZWN0KCJrZXBsZXIiICU+JSByZWdleChpZ25vcmVfY2FzZSA9IFQpKSkNCmV4b3BsYW5ldHNfcmRkayAlPiUNCiAgc2VsZWN0KG5hbWUsIGlzX2tlcGxlcikgJT4lIA0KICBhcnJhbmdlKC1pc19rZXBsZXIpDQpgYGANCg0KDQoNCmBgYHtyfQ0KZXhvcGxhbmV0cyAlPiUNCiAgdGFieWwocHVibGljYXRpb24pDQpgYGANCg0KDQojIE1vZGVsaW5nDQoNCmBgYHtyfQ0KIyB0cmFuc2Zvcm0gaW50byBpcyBzaGFkb3cgbWF0cml4DQpsaWJyYXJ5KG5hbmlhcikNCmV4b3BsYW5ldHNfcmRkayAlPiUgDQogIHNlbGVjdCgtbmFtZSwgLWRpc2NvdmVyZWQsIC11cGRhdGVkLCAtZGlmZl9kaXNjX3VwZGF0ZWQsIC1pc19rZXBsZXIsIC1zdGFyX2Rpc3RhbmNlLCAtc3RhcnRzX3dpdGgoImRldGVjdGlvbl90eXBlIikpICU+JQ0KICBqYW5pdG9yOjpyZW1vdmVfY29uc3RhbnQoKSAlPiUNCiAgYXNfc2hhZG93KCkgLT4gc2hhZG93X21hdHJpeA0KIyBhZGQgY29sdW1ucyB0byBleG9wbGFuZXRzX3JkDQpzaGFkb3dfZXhvcGxhbmV0cyA8LSBleG9wbGFuZXRzX3JkZGsgJT4lIA0KICBiaW5kX2NvbHMoc2hhZG93X21hdHJpeCkgJT4lIA0KICAjIHNlbGVjdCBldmVyeW9uZSB0aGF0IGVuZHMgd2l0aCBfTkENCiAgc2VsZWN0KG5hbWUsIHN0YXJ0c193aXRoKCJkZXRlY3Rpb25fdHlwZV8iKSwgZGlzY292ZXJlZCwgdXBkYXRlZCwgZGlmZl9kaXNjX3VwZGF0ZWQsIGlzX2tlcGxlciwgc3Rhcl9kaXN0YW5jZSwgcmEsIGRlYywgZW5kc193aXRoKCJfTkEiKSkgJT4lIA0KICAjIGNoYW5nZSBkZXRlY3Rpb25fdHlwZSB0byBmYWN0b3INCiAgbXV0YXRlX2F0KHZhcnMoc3RhcnRzX3dpdGgoImRldGVjdGlvbl90eXBlXyIpKSwgYXMuZmFjdG9yKSAlPiUgDQogIGphbml0b3I6OmNsZWFuX25hbWVzKCkNCiMgVE9ETyByZWR1Y2UgZGltZW5zaW9uYWxpdHkgb24gdGhlIF9OQSANCnNoYWRvd19leG9wbGFuZXRzDQpgYGANCg0KIyBtb2RlbA0KDQpgYGB7cn0NCnNoYWRvd19leG9wbGFuZXRzICU+JSBnbGltcHNlDQpgYGANCg0KDQpgYGB7cn0NCmxpYnJhcnkocnBhcnQpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShwdXJycikNCg0Kc2V0LnNlZWQoMTIzKQ0KDQojIERlZmluZSB0YXJnZXQgYW5kIHByZWRpY3RvciBjb2x1bW5zDQp0YXJnZXRfY29scyA8LSBuYW1lcyhzaGFkb3dfZXhvcGxhbmV0cykgJT4lIA0KICBrZWVwKH4gc3RhcnRzV2l0aCgueCwgImRldGVjdGlvbl90eXBlXyIpKQ0KDQpwcmVkaWN0b3JfY29scyA8LSBuYW1lcyhzaGFkb3dfZXhvcGxhbmV0cykgJT4lIA0KICBzZXRkaWZmKGMoIm5hbWUiLCB0YXJnZXRfY29scykpDQoNCiMgVHJhaW4gZGVjaXNpb24gdHJlZXMgZm9yIGVhY2ggdGFyZ2V0IGxhYmVsDQptb2RlbHMgPC0gdGFyZ2V0X2NvbHMgJT4lDQogIHNldF9uYW1lcygpICU+JQ0KICBtYXAofiBycGFydChhcy5mb3JtdWxhKHBhc3RlKC54LCAifiIsIHBhc3RlKHByZWRpY3Rvcl9jb2xzLCBjb2xsYXBzZSA9ICIgKyAiKSkpLA0KICAgICAgICAgICAgICBkYXRhID0gc2hhZG93X2V4b3BsYW5ldHMsIG1ldGhvZCA9ICJjbGFzcyIpKQ0KDQojIE1ha2UgcHJlZGljdGlvbnMgYW5kIGFkZCB0aGVtIHRvIHRoZSBvcmlnaW5hbCBkYXRhc2V0DQpzaGFkb3dfZXhvcGxhbmV0c193aXRoX3ByZWRzIDwtIHNoYWRvd19leG9wbGFuZXRzICU+JQ0KICBiaW5kX2NvbHMobW9kZWxzICU+JQ0KICAgIG1hcF9kZmMofiBwcmVkaWN0KC54LCBzaGFkb3dfZXhvcGxhbmV0cywgdHlwZSA9ICJjbGFzcyIpKSAlPiUNCiAgICByZW5hbWVfd2l0aCh+IHBhc3RlMCgicHJlZF8iLCB0YXJnZXRfY29scykpICAjIFByZWZpeCBwcmVkaWN0aW9ucyBmb3IgY2xhcml0eQ0KICApDQoNCnByZWRpY3Rpb25zIDwtIHNoYWRvd19leG9wbGFuZXRzX3dpdGhfcHJlZHMgJT4lDQogIG11dGF0ZSgNCiAgICBhY3R1YWxfY29tYmluZWQgPSBhcHBseShzZWxlY3QoLiwgYWxsX29mKHRhcmdldF9jb2xzKSksIDEsIHBhc3RlLCBjb2xsYXBzZSA9ICJfIiksDQogICAgcHJlZGljdGVkX2NvbWJpbmVkID0gYXBwbHkoc2VsZWN0KC4sIHN0YXJ0c193aXRoKCJwcmVkXyIpKSwgMSwgcGFzdGUsIGNvbGxhcHNlID0gIl8iKQ0KICApICU+JSBzZWxlY3QoYWN0dWFsX2NvbWJpbmVkLCBwcmVkaWN0ZWRfY29tYmluZWQsIHN0YXJ0c193aXRoKCJwcmVkXyIpLCBzdGFydHNfd2l0aCgiZGV0ZWN0aW9uX3R5cGVfIikpDQpwcmVkaWN0aW9ucw0KYGBgDQoNCmBgYHtyfQ0KbXVsdGlfbGFiZWxfY29uZnVzaW9uX21hdHJpeCA8LSBmdW5jdGlvbih5X3RydWUsIHlfcHJlZCkgew0KICByZXN1bHQgPC0gbGlzdCgpDQogIA0KICBmb3IgKGNvbCBpbiBuYW1lcyh5X3RydWUpKSB7DQogICAgY29uZnVzaW9uX21hdHJpeCA8LSB0YWJsZSh5X3RydWVbW2NvbF1dLCB5X3ByZWRbW3Bhc3RlMCgicHJlZF8iLCBjb2wpXV0pDQogICAgcmVzdWx0W1tjb2xdXSA8LSBjb25mdXNpb25fbWF0cml4DQogIH0NCiAgDQogIHJldHVybihyZXN1bHQpDQp9DQptdWx0aV9sYWJlbF9jb25mdXNpb25fbWF0cml4KHNoYWRvd19leG9wbGFuZXRzX3dpdGhfcHJlZHMgJT4lIHNlbGVjdChzdGFydHNfd2l0aCgiZGV0ZWN0aW9uX3R5cGVfIikpLCBwcmVkaWN0aW9ucyAlPiUgc2VsZWN0KHN0YXJ0c193aXRoKCJwcmVkXyIpKSkNCmBgYA0KDQpgYGB7cn0NCiMgTG9hZCBuZWNlc3NhcnkgbGlicmFyeQ0KbGlicmFyeShycGFydC5wbG90KQ0KDQojIFBsb3QgdGhlIGRlY2lzaW9uIHRyZWVzIHdpdGggdGl0bGVzDQp0YXJnZXRfY29scyAlPiUNCiAgbWFwMihtb2RlbHMsIH4gew0KICAgIHJwYXJ0LnBsb3QoLnksIA0KICAgICAgICAgICAgICAgdHlwZSA9IDQsIA0KICAgICAgICAgICAgICAgZXh0cmEgPSAxMDEsIA0KICAgICAgICAgICAgICAgdW5kZXIgPSBUUlVFLCANCiAgICAgICAgICAgICAgIGZhbGxlbi5sZWF2ZXMgPSBUUlVFLA0KICAgICAgICAgICAgICAgbWFpbiA9IHBhc3RlKCJEZWNpc2lvbiBUcmVlIGZvciIsIC54KSkgICMgVGl0bGUgd2l0aCB0aGUgdGFyZ2V0IGxhYmVsDQogIH0pDQoNCmBgYA0KDQpgYGB7cn0NCiMgZ2V0IGFjY3VyYWN5DQphY2N1cmFjeSA8LSBmdW5jdGlvbih5X3RydWUsIHlfcHJlZCkgew0KICByZXN1bHQgPC0gbGlzdCgpDQogIA0KICBmb3IgKGNvbCBpbiBuYW1lcyh5X3RydWUpKSB7DQogICAgY29uZnVzaW9uX21hdHJpeCA8LSB0YWJsZSh5X3RydWVbW2NvbF1dLCB5X3ByZWRbW3Bhc3RlMCgicHJlZF8iLCBjb2wpXV0pDQogICAgcmVzdWx0W1tjb2xdXSA8LSBzdW0oZGlhZyhjb25mdXNpb25fbWF0cml4KSkgLyBzdW0oY29uZnVzaW9uX21hdHJpeCkNCiAgfQ0KICANCiAgcmV0dXJuKHJlc3VsdCkNCn0NCg0KYWNjdXJhY3koc2hhZG93X2V4b3BsYW5ldHNfd2l0aF9wcmVkcyAlPiUgc2VsZWN0KHN0YXJ0c193aXRoKCJkZXRlY3Rpb25fdHlwZV8iKSksIHByZWRpY3Rpb25zICU+JSBzZWxlY3Qoc3RhcnRzX3dpdGgoInByZWRfIikpKQ0KYGBgDQoNCmBgYHtyfQ0Kc2V0LnNlZWQoMTIzKQ0KDQpzaGFkb3dfZXhvcGxhbmV0cyAlPiUgDQogIHNlbGVjdCgtbmFtZSwgLXN0YXJ0c193aXRoKCJkZXRlY3Rpb25fdHlwZSIpLCAtZW5kc193aXRoKCJfbmEiKSwgLWRpc2NvdmVyZWQsIC11cGRhdGVkLCAtZGlmZl9kaXNjX3VwZGF0ZWQsIC1pc19rZXBsZXIpICU+JSANCiAgYXNfc2hhZG93KCkgJT4lIA0KICBiaW5kX2NvbHMoc2hhZG93X2V4b3BsYW5ldHMpICU+JSANCiAgc2VsZWN0KC1kaXNjb3ZlcmVkLCAtdXBkYXRlZCwgLWRpZmZfZGlzY191cGRhdGVkLCAtaXNfa2VwbGVyLCAtc3Rhcl9kaXN0YW5jZSwgLXJhLCAtZGVjKSAlPiUNCiAgcmVsb2NhdGUobmFtZSwgc3RhcnRzX3dpdGgoImRldGVjdGlvbl90eXBlIikpIC0+IHNoYWRvd2VyX2V4b3BsYW5ldHMNCg0Kc2hhZG93ZXJfZXhvcGxhbmV0cyAlPiUgZ2xpbXBzZQ0KYGBgDQoNCg0KYGBge3J9DQojIERvIHRoZSBzYW1lIHRoaW5nIHdpdGggc2hhZG93ZXJfZXhvcGxhbmV0cw0KDQoNCiMgRGVmaW5lIHRhcmdldCBhbmQgcHJlZGljdG9yIGNvbHVtbnMNCnRhcmdldF9jb2xzIDwtIG5hbWVzKHNoYWRvd2VyX2V4b3BsYW5ldHMpICU+JSANCiAga2VlcCh+IHN0YXJ0c1dpdGgoLngsICJkZXRlY3Rpb25fdHlwZV8iKSkNCg0KcHJlZGljdG9yX2NvbHMgPC0gbmFtZXMoc2hhZG93ZXJfZXhvcGxhbmV0cykgJT4lDQogIHNldGRpZmYoYygibmFtZSIsIHRhcmdldF9jb2xzKSkNCg0KIyBUcmFpbiBkZWNpc2lvbiB0cmVlcyBmb3IgZWFjaCB0YXJnZXQgbGFiZWwNCm1vZGVscyA8LSB0YXJnZXRfY29scyAlPiUNCiAgc2V0X25hbWVzKCkgJT4lDQogIG1hcCh+IHJwYXJ0KGFzLmZvcm11bGEocGFzdGUoLngsICJ+IiwgcGFzdGUocHJlZGljdG9yX2NvbHMsIGNvbGxhcHNlID0gIiArICIpKSksDQogICAgICAgICAgICAgIGRhdGEgPSBzaGFkb3dlcl9leG9wbGFuZXRzLCBtZXRob2QgPSAiY2xhc3MiKSkNCg0KIyBNYWtlIHByZWRpY3Rpb25zIGFuZCBhZGQgdGhlbSB0byB0aGUgb3JpZ2luYWwgZGF0YXNldA0Kc2hhZG93ZXJfZXhvcGxhbmV0c193aXRoX3ByZWRzIDwtIHNoYWRvd2VyX2V4b3BsYW5ldHMgJT4lDQogIGJpbmRfY29scyhtb2RlbHMgJT4lDQogICAgbWFwX2RmYyh+IHByZWRpY3QoLngsIHNoYWRvd2VyX2V4b3BsYW5ldHMsIHR5cGUgPSAiY2xhc3MiKSkgJT4lDQogICAgcmVuYW1lX3dpdGgofiBwYXN0ZTAoInByZWRfIiwgdGFyZ2V0X2NvbHMpKSAgIyBQcmVmaXggcHJlZGljdGlvbnMgZm9yIGNsYXJpdHkNCiAgKQ0KDQpwcmVkaWN0aW9ucyA8LSBzaGFkb3dlcl9leG9wbGFuZXRzX3dpdGhfcHJlZHMgJT4lDQogIG11dGF0ZSgNCiAgICBhY3R1YWxfY29tYmluZWQgPSBhcHBseShzZWxlY3QoLiwgYWxsX29mKHRhcmdldF9jb2xzKSksIDEsIHBhc3RlLCBjb2xsYXBzZSA9ICJfIiksDQogICAgcHJlZGljdGVkX2NvbWJpbmVkID0gYXBwbHkoc2VsZWN0KC4sIHN0YXJ0c193aXRoKCJwcmVkXyIpKSwgMSwgcGFzdGUsIGNvbGxhcHNlID0gIl8iKQ0KICApICU+JSBzZWxlY3QoYWN0dWFsX2NvbWJpbmVkLCBwcmVkaWN0ZWRfY29tYmluZWQsIHN0YXJ0c193aXRoKCJwcmVkXyIpLCBzdGFydHNfd2l0aCgiZGV0ZWN0aW9uX3R5cGVfIikpDQpwcmVkaWN0aW9ucw0KYGBgDQoNCg0KYGBge3J9DQojIGFjY3VyYWN5DQphY2N1cmFjeShzaGFkb3dlcl9leG9wbGFuZXRzX3dpdGhfcHJlZHMgJT4lIHNlbGVjdChzdGFydHNfd2l0aCgiZGV0ZWN0aW9uX3R5cGVfIikpLCBwcmVkaWN0aW9ucyAlPiUgc2VsZWN0KHN0YXJ0c193aXRoKCJwcmVkXyIpKSkNCmBgYA0KDQpgYGB7cn0NCiMgcGxvdA0KdGFyZ2V0X2NvbHMgJT4lDQogIG1hcDIobW9kZWxzLCB+IHsNCiAgICBycGFydC5wbG90KC55LCANCiAgICAgICAgICAgICAgIHR5cGUgPSA0LCANCiAgICAgICAgICAgICAgIGV4dHJhID0gMTAxLCANCiAgICAgICAgICAgICAgIHVuZGVyID0gVFJVRSwgDQogICAgICAgICAgICAgICBmYWxsZW4ubGVhdmVzID0gVFJVRSwNCiAgICAgICAgICAgICAgIG1haW4gPSBwYXN0ZSgiRGVjaXNpb24gVHJlZSBmb3IiLCAueCkpICAjIFRpdGxlIHdpdGggdGhlIHRhcmdldCBsYWJlbA0KICB9KQ0KYGBgDQoNCg==